CN Notes All Units (1)
CN Notes All Units (1)
1.1 INTRODUCTION
A network is a set of devices (often referred to as nodes) connected by
communication links. A node can be a computer, printer, or any other device capable
of sending and/or receiving data generated by other nodes on the network.
“Computer network’’ to mean a collection of autonomous computers
interconnected by a single technology. Two computers are said to be interconnected if
they are able to exchange information.
The connection need not be via a copper wire; fiber optics, microwaves, infrared, and
communication satellites can also be used.
Networks come in many sizes, shapes and forms, as we will see later. They are
usually connected together to make larger networks, with the Internet being the most well-
known example of a network of networks.
There is considerable confusion in the literature between a computer network and a
distributed system. The key distinction is that in a distributed system, a collection of
independent computers appears to its users as a single coherent system. Usually, it has a
single model or paradigm that it presents to the users. Often a layer of software on top of
the operating system, called middleware, is responsible for implementing this model. A
well-known example of a distributed system is the World Wide Web. It runs on top of
the Internet and presents a model in which everything looks like a document (Web page).
Data Flow
Communication between two devices can be simplex, half-duplex, or full-duplex as
shown in Figure.
Network Criteria
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.
Performance is often evaluated by two networking metrics: throughput and delay. We often need
more throughputs 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.
Type of Connection
A network is two or more devices connected through links. A link is a
communications pathway that transfers data from one device to another.
There are two possible types of connections: point-to-point and multipoint.
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
options, such as microwave or satellite links, are also possible
3
When you change television channels by infrared remote control, you are establishing a
point-to-point connection between the remote control and the television's control system.
Multipoint
A multipoint (also called multi-drop) connection is one in which more than two specific
devices share a single link
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.
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
4
MESH:
A mesh topology is the one where every node is connected to every other node in the
network.
6
BUS:
A line topology, a bus topology is a network setup in which each computer and network
device are connected to a single cable or backbone.
Advantages of bus topology
1. It works well when you have a small network.
2. It's the easiest network topology for connecting computers or peripherals in a
linear fashion.
3. It requires less cable length than a star topology.
Disadvantages of bus topology
1. It can be difficult to identify the problems if the whole network goes down.
2. It can be hard to troubleshoot individual device issues.
3. Bus topology is not great for large networks.
4. Terminators are required for both ends of the main cable.
5. Additional devices slow the network down.
6. If a main cable is damaged, the network fails or splits into two.
RING:
Hybrid Topology
A network can be hybrid. For example, we can have a main star topology with each
branch connecting several stations in a bus topology as shownin Figure
8
Figure 1.10 Types of Network
PAN covers very small area-0-10-m
LAN covers the smallest area -1 km(max)
MAN covers an area larger than LAN and - 50 km(city)
WAN comprises the largest of all- >50 km
PAN (Personal Area Network)
PAN is a computer network formed around a person.
It generally consists of a computer, mobile, or personal digital assistant.
PAN can be used for establishing communication among these personal devices for
connecting to a digital network and the internet. Characteristics of PAN
It is mostly personal devices network equipped within a limited area.
Allows you to handle the interconnection of IT devices at the surrounding of a single user.
PAN includes mobile devices, tablet, and laptop.
It can be wirelessly connected to the internet called WPAN.
Appliances use for PAN: cordless mice, keyboards, and Bluetooth systems
Advantages of PAN
Here, are important pros/benefits of using PAN network:
PAN networks are relatively secure and safe
It offers only short-range solution up to ten meters
Strictly restricted to a small area
Disadvantages of PAN
Here are important cons/ drawback of using PAN network:
It may establish a bad connection to other networks at the same radio bands.
Distance limits.
9
A Local Area Network (LAN) is a group of computer and peripheral devices
which are connected in a limited area such as school, laboratory, home, and office
building.
It is a widely useful network for sharing resources like files, printers, games, and
other application.
The simplest type of LAN network is to connect computers and a printer in
someone's home or office.
In general, LAN will be used as one type of transmission medium.
It is a network which consists of less than 5000 interconnected devices across
several buildings.
Characteristics of LAN
Here are important characteristics of a LAN network:
It is a private network, so an outside regulatory body never controls it.
LAN operates at a relatively higher speed compared to other WAN systems.
There are various kinds of media access control methods like token ring and
ethernet.
Advantages of LAN
Here are pros/benefits of using LAN:
Computer resources like hard-disks, DVD-ROM, and printers can share local area
networks. This significantly reduces the cost of hardware purchases.
You can use the same software over the network instead of purchasing the
licensed software for each client in the network.
Data of all network users can be stored on a single hard disk of the server
computer.
You can easily transfer data and messages over networked computers.
It will be easy to manage data at only one place, which makes data more secure.
Local Area Network offers the facility to share a single internet connection among
all the LAN users.
Disadvantages of LAN
Here are the important cons/ drawbacks of LAN:
LAN will indeed save cost because of shared computer resources, but the initial
cost of installing Local Area Networks is quite high.
The LAN admin can check personal data files of every LAN user, so it does not
offer good privacy.
Unauthorized users can access critical data of an organization in case LAN admin
is not able to secure centralized data repository.
Local Area Network requires a constant LAN administration as there are issues
related to software setup and hardware failures
10
Figure 1.11 MAN
Characteristics of MAN
It mostly covers towns and cities in a maximum 50 km range
Mostly used medium is optical fibers, cables
Data rates adequate for distributed computing applications.
Advantages of MAN
It offers fast communication using high-speed carriers, like fiber optic cables.
It provides excellent support for an extensive size network and greater access to
WANs.
The dual bus in MAN network provides support to transmit data in both directions
concurrently.
A MAN network mostly includes some areas of a city or an entire city.
Disadvantages of MAN
Here are drawbacks/ cons of using the MAN network:
You need more cable to establish MAN connection from one place to another.
In MAN network it is tough to make the system secure from hackers
11
Figure 1.12 WAN
Advantages of WAN
Here are the benefits/ pros of using WAN:
WAN helps you to cover a larger geographical area. Therefore business offices
situated at longer distances can easily communicate.
Contains devices like mobile phones, laptop, tablet, computers, gaming consoles,
etc.
WLAN connections work using radio transmitters and receivers built into client
devices.
Disadvantage of WAN
Here are drawbacks/cons of using WAN:
The initial setup cost of investment is very high.
It is difficult to maintain the WAN network. You need skilled technicians and
network administrators.
There are more errors and issues because of the wide coverage and the use of
different technologies.
It requires more time to resolve issues because of the involvement of multiple
wired and wireless technologies.
Offers lower security compared to other types of networks.
Transmission Medium
is a physical path between the transmitter and the receiver
i.e it is the channel through which data is sent from one place to another.
12
Transmission Media is broadly classified into the following types:
Guided Media: Guided media, which are those that provide a medium from one device
to another, include twisted-pair cable, coaxial cable, and fiber-optic cable.
⚫ It is also referred to as Wired or Bounded transmission media.
⚫ Guided media, which are those that provide a channel from one device to another.
⚫ Signals being transmitted are directed in a narrow pathway by using physical links.
Features:
⚫ High Speed
⚫ Secure
⚫ Used for comparatively shorter distances
⚫ There are 3 major types of Guided Media:
⚫ Twisted-pair and coaxial cable use metallic (copper) conductors that accept and transport
signals in the form of electric current.
⚫ Optical fibre is a cable that accepts and transports signals in the form of light.
13
Figure 1.15 Twisted-Pair Cable
Coaxial Cable
Coaxial cable (or coax) carries signals of higher frequency ranges than those in twisted
pair cable. coax has a central core conductor of solid or stranded wire (usuallycopper)
enclosed in an insulating sheath, which is, in turn, encased in an outer conductor of metal
foil, braid, or a combination of the two. The outer metallic wrapping serves both as a
shield against noise and as the second conductor, which completes the circuit.This outer
conductor is also enclosed in an insulating sheath, and the whole cable is protected by a
plastic cover.
14
Figure 1.17 Coaxial cable
The most common type of connector used today is the Bayone-Neill-Concelman (BNe),
connector.
Applications
Coaxial cable was widely used in analog telephone networks,digital telephone networks
Cable TV networks also use coaxialcables.
Another common application of coaxial cable is in traditional Ethernet LANs
Fiber-Optic Cable
A fiber-optic cable is made of glass or plastic and transmits signals in the form of
light. Light travels in a straight line as long as it is moving through a single uniform
substance.
If a ray of light traveling through one substance suddenly enters another substance(of
a different density), the ray changes direction.
Bending of lightray
Optical fibers use reflection to guide light through a channel. A glass or plastic core is
surrounded by a cladding of less dense glass or plastic.
15
Figure 1.19 Optical fibers
Propagation Modes
Multimode is so named because multiple beams from a light source move through the
core in different paths. How these beams move within the cable depends on the structure
of the core, as shown in Figure.
In multimode step-index fiber, the density of the core remains constant from the center
to the edges. A beam of light moves through this constant density in a straight line
until it reaches the interface of the core and the cladding. The term step index refers to
the suddenness of this change, which contributes to the distortion of the signal as it
passes through the fiber.
16
A second type of fiber, called multimode graded-index fiber, decreases this distortion
of the signal through the cable. The word index here refers to the index of refraction.
Single-Mode: Single-mode uses step-index fiber and a highly focused source of light that
limits beams to a small range of angles, all close to the horizontal.
The subscriber channel (SC) connector, The straight-tip (ST) connector, MT-
RJ(mechanical transfer registered jack) is a connector
Applications
Fiber-optic cable is often found in backbone networks its wide bandwidth is cost-effective.
Some cable TV companies use a combination of optical fiber and coaxial cable, thus
creating a hybrid network.
Local-area networks such as 100Base-FX network (Fast Ethernet) and 1000Base-X
also use fiber-opticcable
Advantages and Disadvantages of Optical Fiber
Advantages Fiber-optic cable has several advantages over metallic cable (twisted pair
or coaxial).
⚫ Higher bandwidth
⚫ Less signal attenuation
⚫ Immunity to electromagnetic interference
⚫ Resistance to corrosive materials
⚫ Light weight
⚫ Greater immunity to tapping
Disadvantages of Fibre Optic Cable
⚫ Installation and maintenance
⚫ Unidirectional light propagation
⚫ High Cost
Unguided signals can travel from the source to destination in several ways: ground
propagation, sky propagation, and line-of-sight propagation, as shown in Figure
17
Figure 1.23 Types of Unguided media
Radio Waves
Electromagnetic waves ranging in frequencies between 3 kHz and 1 GHz are normally
called radio waves. Radio waves are omni directional. When an antenna transmits radio
waves, they are propagated in all directions. This means that the sending and receiving
antennas do not have to be aligned. A sending antenna sends waves that can be received
by any receiving antenna. The omni directional property has a disadvantage, too. The
radio waves transmitted by one antenna are susceptible to interference by another antenna
that may send signals using the same frequency or band.
Radio waves use omnidirectional antennas that send out signals in all directions. Based
on the wavelength, strength, and the purpose of transmission, we can have several types of
antennas. Figure shows an omnidirectional antenna.
18
Applications
The Omni directional characteristics of radio waves make them useful for multicasting, in
which there is one sender but many receivers. AM and FM radio, television, maritime
radio, cordless phones, and paging are examples of multicasting.
Microwaves
Electromagnetic waves having frequencies between 1 and 300 GHz are called
microwaves. Microwaves are unidirectional. The sending and receiving antennas need to
be aligned. The unidirectional property has an obvious advantage. A pair of antennas can
be aligned without interfering with another pair of aligned antennas Unidirectional
Antenna
Microwaves need unidirectional antennas that send out signals in one direction. Two types
of antennas are used for microwave communications: the parabolic dish and the horn
Infrared
Infrared waves, with frequencies from 300 GHz to 400 THz (wavelengths from 1 mm to
770 nm), can be used for short-range communication. Infrared waves, having high
frequencies, cannot penetrate walls. This advantageous
characteristic prevents interference between one system and another; a short- range
communication system in one room cannot be affected by another system in the next
room.
19
When we use our infrared remote control, we do not interfere with the use of the remote
by our neighbors. Infrared signals useless for long-range communication. In addition, we
cannot use infrared waves outside a building because the sun's rays contain infrared waves
that can interfere with the communication.
Applications:
Infrared signals can be used for short-range communication in a closed area using
line-of-sight propagation.
Protocols (rules)
Network Standards
Networking standards define the rules for data communications that are needed
for interoperability of networking technologies and processes.
Standards help in creating and maintaining open markets and allow different
vendors to compete on the basis of the quality of their products while being
compatible with existing market products.
Standards
Categories of Standards
These are the standards that are followed without any formal plan or approval by any
organization.
These standards are the ones which have been adopted through legislation by any officially
recognized standards organization.
Most of the communication standards that are used today are de jure standards.
Switching
A network is a set of connected devices. Whenever we have multiple devices, we have the
problem of how to connect them to make one-to-one communication possible. One
solution is to make a point-to-point connection between each pair of devices (a mesh
topology) or between a central device and every other device (a star topology). These
methods, however, are impractical and wasteful when applied to very large networks.
The number and length of the links require too much infrastructure to be cost-
efficient, and the majority of those links would be idle most of the time.
A better solution is switching. A switched network consists of a series of
interlinked nodes, called switches. Switches are devices capable of creating temporary
connections between two or more devices linked to the switch. In a switched network,
some of these nodes are connected to the end systems (computers or telephones, for
example). Others are used only for routing. Figure shows a switched network.
21
Figure 1.26 switched network
We can then divide today's networks into three broad categories: circuit- switched
networks, packet-switched networks, and message-switched. Packet- switched networks
can further be divided into two subcategories-virtual-circuit networks and datagram
networks as shown in Figure.
CIRCUIT-SWITCHED NETWORKS
Setup Phase
Before the two parties (or multiple parties in a conference call) can communicate, a
dedicated circuit (combination of channels in links) needs to be established. Connection
setup means creating dedicated channels between the switches. For example, in Figure,
when system A needs to connect to system M, it sends a setup request that includes the
address of system M, to switch I. Switch I finds a channel between itself and switch IV
that can be dedicated for this purpose. Switch I then sends the request to switch IV, which
finds a
dedicated channel between itself and switch III. Switch III informs system M of system
A's intention at this time.
In the next step to making a connection, an acknowledgment from system M
needs to be sent in the opposite direction to system A. Only after system A receives
this acknowledgment is the connection established.
Data Transfer Phase
After the establishment of the dedicated circuit (channels), the two parties can transfer
data.
Teardown Phase
When one of the parties needs to disconnect, a signal is sent to each switch to release the
resources.
Efficiency
It can be argued that circuit-switched networks are not as efficient as the other two types
of networks because resources are allocated during the entire duration of the connection.
These resources are unavailable to other connections.
23
Delay
Although a circuit-switched network normally has low efficiency, the delay in this type of
network is minimal. During data transfer the data are not delayed at each switch; the
resources are allocated for the duration of the connection.
The total delay is due to the time needed to create the connection, transfer data, and
disconnect the circuit.
Switching at the physical layer in the traditional telephone network uses the circuit-
switching
The packet switching is a switching technique in which the message is sent in one go, but
it is divided into smaller pieces, and they are sent individually.
The message splits into smaller pieces known as packets and packets are given a unique
number to identify their order at the receiving end.
Every packet contains some information in its headers such as source address, destination
address and sequence number.
Packets will travel across the network, taking the shortest path as possible.
All the packets are reassembled at the receiving end in correct order.
If any packet is missing or corrupted, then the message will be sent to resend the message.
If the correct order of the packets is reached, then the acknowledgment message will be
sent
24
Approaches Of Packet Switching
DATAGRAM NETWORKS
In a packet-switched network, there is no resource reservation; resources are allocated on
demand. The allocation is done on a first come, first-served basis. When a switch receives
a packet, no matter what is the source or destination, the packet must wait if there are
other packets being processed. This lack of reservation may create delay. For example, if
we do not have a reservation at a restaurant, we might have to wait.
In a datagram network, each packet is treated independently of all others. Packets
in this approach are referred to as datagrams. Datagram switching is normally done at the
network layer.
Figure shows how the datagram approach is used to deliver four packets from
station A to station X. The switches in a datagram network are traditionally referred to as
routers.
The datagram networks are sometimes referred to as connectionless networks.
The term connectionless here means that the switch (packet switch) does not keep
information about the connection state. There are no setup or teardown phases. Each
packet is treated the same by a switch regardless of its source or destination.
A switch in a datagram network uses a routing table that is based on the destination
address. The destination address in the header of a packet in a datagram network remains
the same during the entire journey of the packet.
25
Figure 1.30 datagram networks
Efficiency
The efficiency of a datagram network is better than that of a circuit-switched network;
resources are allocated only when there are packets to be transferred. Delay
There may be greater delay in a datagram network than in a virtual-circuit network.
Although there are no setup and teardown phases, each packet may experience a wait at a
switch before it is forwarded. In addition, since not all packets in a message necessarily
travel through the same switches, the delay is not uniform for the packets of a message.
Switching in the Internet is done by using the datagram approach to packet
switching at the network layer.
VIRTUAL-CIRCUIT NETWORKS
A source or a destination needs to have a global address-an address that can be unique in
the scope of the network.
Virtual-Circuit Identifier
The identifier that is actually used for data transfer is called the virtual-circuit identifier
(VCI). A VCI, unlike a global address, is a small number that has only switch scope; it is
used by a frame between two switches. When a frame arrives at a switch, it has a VCI;
when it leaves, it has a different VCl.
Figure shows how the VCI in a data frame changes from one switch to another. Note that a
VCI does not need to be a large number since each switch can use its own unique set of
VCls.
Three Phases
Three phases in a virtual-circuit network: setup, data transfer, and teardown. We first
discuss the data transfer phase, which is more straightforward; we then talk about the
setup and teardown phases.
27
Data Transfer Phase
To transfer a frame from a source to its destination, all switches need to have a
table entry for this virtual circuit. The table, in its simplest form, has four columns.
We show later how the switches make their table entries, but for the moment
we assume that each switch has a table with entries for all active virtual circuits.
Figure shows such a switch and its corresponding table.
Figure shows a frame arriving at port 1 with a VCI of 14. When the frame arrives,
the switch looks in its table to find port 1 and a VCI of 14. When it is found, the switch
knows to change the VCI to 22 and send out the frame from port 3.
Figure shows how a frame from source A reaches destination B and how its VCI changes
during the trip.
28
Setup Phase
In the setup phase, a switch creates an entry for a virtual circuit. For example, suppose
source A needs to create a virtual circuit to B. Two steps are required: the setup request
and the acknowledgment.
Setup Request A setup request frame is sent from the source to the destination. Figure
shows the process.
a. Switch 1 receives the setup request frame. It knows that a frame going from A
to B goes out through port 3. For the moment, assume that it knows the output port.
The switch creates an entry in its table for this virtual circuit, but it is only able to fill
three of the four columns. The switch assigns the incoming port (1) and chooses an
available incoming VCI (14) and the outgoing port (3). It does not yet know the
outgoing VCI, which will be found during the acknowledgment step. The switch then
forwards the frame through port 3 to switch 2.
b. Switch 2 receives the setup request frame. The same events happen here as at
switch 1; three columns of the table are completed: in this case, incoming port (l),
incoming VCI (66), and outgoing port (2).
c. Switch 3 receives the setup request frame. Again, three columns are completed:
incoming port (2), incoming VCI (22), and outgoing port (3).
d. Destination B receives the setup frame, and if it is ready to receive frames from A,
it assigns a VCI to the incoming frames that come from A, in this case 77. This VCI lets the
destination know that the frames come from A, and not other sources.
29
Acknowledgment A special frame, called the acknowledgment frame, completes the
entries in the switching tables.
Figure shows the process.
Teardown Phase
In this phase, source A, after sending all frames to B, sends a special frame called a
teardown request. Destination B responds with a teardown confirmation frame. All
switches delete the corresponding entry from their tables.
Efficiency
30
In virtual-circuit switching, all packets belonging to the same source and destination travel
the same path; but the packets may arrive at the destination with different delays if
resource allocation is on demand.
Delay
In a virtual-circuit network, there is a one-time delay for setup and a one-time delay for
teardown. If resources are allocated during the setup phase, there is no wait time for
individual packets. Figure shows the delay for a packet traveling through two switches in a
virtual-circuit network
Switching at the data link layer in a switched WAN is normally implemented by using
virtual-circuit techniques.
31
Comparison Table 1.1
32
Comparison Table 1.2
33
Comparison Table 1.3
34
OSI
OSI stands for Open Systems Interconnection
Created by International Standards Organization (ISO)
Was created as a framework and reference model to explain how different networking
technologies work together andinteract
It is not a standard that networking protocols must follow Each layer has specific
functions it is responsible for
All layers work together in the correct order to move data around a network
35
The interaction between layers in the OSI model
36
An exchange using the OSI model
37
interpretation. To be transmitted bits must be encoded into the signals - electrical or
optical.
Bit synchronization - It is necessary to have synchronization between sender and
receiver at the bit level that is the clocks of the sender and the receiver must be
synchronized.
Physical characteristics of interfaces and media - It defines the characteristics of the
interface between the devices and the transmission medium. It also defines the type of
transmission medium.
Bit rate control- also defines the transmission rate(Data Rate) i.e. the number
of bits sent per second
Line configuration - 1. Point-to-point 2. Multipoint
Physical topology – Mesh,star,bus,ring
Transmission mode - simplex, half-duplex, or full-duplex
Multiplexing - Code-division multiplexing (CDM) is a technique in which each channel
transmits its bits as a coded channel-specific sequence of pulses
Data Link Layer
The data link layer is responsible for moving frames from one node to the next.
38
Figure 1.43 Network Layer
Functions of Network layer
It is responsible for the source to destination delivery of a packets across multiple
networks.
Routing:-Provide mechanism to transmit data over independent networks that are
linked together.
Logical addressing:- Adds Logical addresses of sender and Receiver.
Transport Layer
It is responsible for source process to destination process delivery of entire message
Figure 1.43 Network Layer
This layer is concerned with the syntax and semantics of the information exchanged
between two systems.
Host-to-network
Internet
Transport
Application
41
Figure 1.48 TCP/IP
Relationship of layers and addresses in TCP/IP
Application Layer
Application layer protocols define the rules when implementing specific network
applications
Rely on the underlying layers to provide accurate and efficient data delivery Typical
protocols:
FTP – File TransferProtocol For file transfer
Telnet – Remote terminalprotocol For remote login on any other computer on the
network
SMTP – Simple Mail TransferProtocol For mail transfer
HTTP – Hypertext TransferProtocol For Web browsing
⚫ The Simple Mail Transfer Protocol is a communication protocol for electronic mail
transmission.
⚫ The File Transfer Protocol is a standard network protocol used for the transfer of
computer files between a client and server on a computer network.
⚫ The Domain Name System is a hierarchical and decentralized naming system for
computers, services, or other resources connected to the Internet or a private network.
⚫ Simple Network Management Protocol is an Internet Standard protocol for collecting
and organizing information about managed devices on IP networks and for modifying
that information to change device behavior.
42
⚫ Network File System is a distributed file system protocol allowing a user on a client
computer to access files over a computer network much like local storage is accessed.
Trivial File Transfer Protocol is a simple lockstep File Transfer Protocol which allows a
client to get a file from or put a file onto a remote host.
Encompasses same functions as these OSI Model layers Application Presentation Session
Transport Layer
TCP is a connection-oriented protocol
Does not mean it has a physical connection between sender and receiver
TCP provides the function to allow a connection virtually exists – also called virtual
circuit
UDP provides the functions:
Dividing a chunk of data intosegments
Reassembly segments into the originalchunk
Provide further the functions such as reordering and data resend Offering a reliable
byte-stream delivery service
Functions the same as the Transport layer inOSI
Synchronize source and destination computers to set up the session between the
respective computers
Internet Layer
The network layer, also called the internet layer, deals with packets and connects
independent networks to transport the packets across network boundaries. The network
layer protocols are the IP and the Internet Control Message Protocol (ICMP), which is
used for error reporting.
Host-to-network layer
The Host-to-network layer is the lowest layer of the TCP/IP reference model. It
combines the link layer and the physical layer of the ISO/OSI model. At this
layer, data is transferred between adjacent network nodes in a WAN or between
nodes on the same LAN.
43
Comparison of OSI and TCP/IP
44
QUESTIONS
PART A
PART B
1. Analyze the layers of OSI model and describe the responsibilities of each layer.
2. Distinguish different network topologies and explain each topology with a neat
diagram.
3. Analyze the TCP/IP model with a neat diagram? Explain the functions performed
in each layer.
4. Investigate the different types of Transmission media with a neat diagram.
5. Examine the different Categories of switching circuit.
45
UNIT II
Error detection and correction– Line Discipline - Flow Control Error control-
Medium Access Control – Ethernet -CSMA/CD - Wireless LAN - CSMA/CA
46
provides the reliable delivery
service over the links as they have higher error rates and they can be corrected locally,
link at which an error occurs rather than forcing to retransmit the data.
8. Half-Duplex & Full-Duplex: In a Full-Duplex mode, both the nodes can transmit the
data at the same time. In a Half-Duplex mode, only one node can transmit the data at
the same time.
FRAMING:
To provide service to the network layer, the data link layer must use the service
provided to it by the physical layer. What the physical layer does is accept a raw bit stream
and attempt to deliver it to the destination. This bit stream is not guaranteed to be error
free. The number of bits received may be less than, equal to, or more than the number of
bits transmitted, and they may have different values. It is up to the data link layer to detect
and, if necessary, correct errors. The usual approach is for the data link layer to break the
bit stream up into discrete frames and compute the checksum for each frame (framing).
When a frame arrives at the destination, the checksum is recomputed. If the newly
computed checksum is different from the one contained in the frame, the data link layer
knows that an error has occurred and takes steps to deal with it (e.g., discarding the bad
frame and possibly also sending back an error report).We will look at four framing
methods:
1. Character count.
2. Flag bytes with byte stuffing.
3. Starting and ending flags, with bit stuffing.
4. Physical layer coding violations.
Character count method uses a field in the header to specify the number of characters in
the frame. When the data link layer at the destination sees the character count, it knows
how many characters follow and hence where the end of the frame is. This technique is
shown in Fig. (a) For four frames of sizes 5, 5, 8, and 8 characters, respectively.
47
still has no way of telling where the next frame starts. Sending a frame back to the source
asking for a retransmission does not help either, since the destination does not know how
many characters to skip over to get to the start of the retransmission. For this reason, the
character count method is rarely used anymore.
Flag bytes with byte stuffing method gets around the problem of resynchronization after
an error by having each frame start and end with special bytes. In the past, the starting and
ending bytes were different, but in recent years most protocols have used the same byte,
called a flag byte, as both the starting and ending delimiter, as shown in Fig. (a) as FLAG.
In this way, if the receiver ever loses synchronization, it can just search for the flag byte to
find the end of the current frame. Two consecutive flag bytes indicate the end of one frame
and start of the next one.
(a) A frame delimited by flag bytes (b) Four examples of byte sequences before and
after byte stuffing
It may easily happen that the flag byte's bit pattern occurs in the data. This situation
will usually interfere with the framing. One way to solve this problem is to have the
sender's data link layer insert a special escape byte (ESC) just before each ''accidental'' flag
byte in the data. The data link layer on the receiving end removes the escape byte before
the data are given to the network layer. This technique is called byte stuffing or character
stuffing.
Thus, a framing flag byte can be distinguished from one in the data by the absence or
presence of an escape byte before it.
What happens if an escape byte occurs in the middle of the data? The answer is
that, it too is stuffed with an escape byte. Thus, any single escape byte is part of an
escape sequence, whereas a doubled one indicates that a single escape occurred
naturally in the data. Some examples are shown in Fig. (b). In all cases, the byte
sequence delivered after de stuffing is exactly the same as the original bytesequence.
A major disadvantage of using this framing method is that it is closely tied to the use
of 8-bit characters. Not all character codes use 8-bit characters. For example UNICODE
48
uses 16-bit characters, so a new technique had to be developed to allow arbitrary sized
characters
Starting and ending flags, with bit stuffing allows data frames to contain an arbitrary
number of bits and allows character codes with an arbitrary number of bits per character. It
works like this. Each frame begins and ends with a special bit pattern, 01111110 (in fact,
a flag byte). Whenever the sender's data link layer encounters five consecutive 1s in the
data, it automatically stuffs a 0 bit into the outgoing bit stream. This bit stuffing is
analogous to byte stuffing, in which an escape byte is stuffed into the outgoing character
stream before a flag byte in the data.
When the receiver sees five consecutive incoming 1 bits, followed by a 0 bit, it
automatically de- stuffs (i.e., deletes) the 0 bit. Just as byte stuffing is completely
transparent to the network layer in both computers, so is bit stuffing. If the user data
contain the flag pattern, 01111110, this flag is transmitted as 011111010 but stored in the
receiver's memory as 01111110.
Fig:Bit stuffing. (a) The original data. (b) The data as they appear on the line.
(c) The data as they are stored in the receiver's memory after destuffing.
With bit stuffing, the boundary between two frames can be unambiguously recognized by
the flag pattern. Thus, if the receiver loses track of where it is, all it has to do is scan the
input for flag sequences, since they can only occur at frame boundaries and never within
the data.
Physical layer coding violations method of framing is only applicable to networks in
which the encoding on the physical medium contains some redundancy. For example,
some LANs encode 1 bit of data by using 2 physical bits. Normally, a 1 bit is a high-low
pair and a 0 bit is a low-high pair. The scheme means that every data bit has a transition
in the middle, making it easy for the receiver to locate the bit boundaries. The
combinations high-
high and low-low are not used for data but are used for delimiting frames in some
protocols.
As a final note on framing, many data link protocols use combination of a character count
49
with one of the other methods for extra safety. When a frame arrives, the count field is
used to locate the end of the frame. Only if the appropriate delimiter is present at that
position and the checksum is correct is the frame accepted as valid. Otherwise, the input
stream is scanned for the next delimiter
Simplest Protocol
It is very simple. The sender sends a sequence of frames without even thinking about the
receiver. Data are transmitted in one direction only. Both sender & receiver always ready.
Processing time can be ignored. Infinite buffer space is available. And best of all, the
communication channel between the data link layers never damages or loses frames. This
thoroughly unrealistic protocol, which we will nickname ‘‘Utopia,’’ .The utopia protocol
is unrealistic because it does not handle either flow control or error correction
Stop-and-wait Protocol
50
It is still very simple. The sender sends one frame and waits for feedback from the receiver.
When the ACK arrives, the sender sends the next frame
It is Stop-and-Wait Protocol because the sender sends one frame, stops until it receives
confirmation from the receiver (okay to go ahead), and then sends the next frame. We still
have unidirectional communication for data frames, but auxiliary ACK frames (simple
tokens of acknowledgment) travel from the other direction. We add flow control to our
previousprotocol.
NOISY CHANNELS
Although the Stop-and-Wait Protocol gives us an idea of how to add flow control to its
predecessor, noiseless channels are nonexistent. We can ignore the error (as we sometimes
do), or we need to add error control to our protocols. We discuss three protocols in this
section that use error control.
Sliding Window Protocols:
1 Stop-and-Wait Automatic Repeat Request
51
Bandwidth Delay Product:
Assume that, in a Stop-and-Wait ARQ system, the bandwidth of the line is 1 Mbps, and 1
bit takes 20 ms to make a round trip. What is the bandwidth-delay product? If the system
data frames are 1000 bits in length, what is the utilization percentage of the link?
The link utilization is only 1000/20,000, or 5 percent. For this reason, for a link with a high
bandwidth or long delay, the use of Stop-and-Wait ARQ wastes the capacity of the link.
To improve the efficiency of transmission (filling the pipe), multiple frames must be
in transition while waiting for acknowledgment. In other words, we need to let more than
one frame be outstanding to keep the channel busy while the sender is waiting for
acknowledgment.
52
The first is called Go-Back-N Automatic Repeat. In this protocol we can send
several frames before receiving acknowledgments; we keep a copy of these frames until
the acknowledgments arrive.
In the Go-Back-N Protocol, the sequence numbers are modulo 2m, where m is
the size of the sequence number field in bits. The sequence numbers range from 0 to
2 power m- 1. For example, if m is 4, the only sequence numbers are 0 through 15
inclusive.
The sender window at any time divides the possible sequence numbers into four
regions.
The first region, from the far left to the left wall of the window, defines the
sequence numbers belonging to frames that are already acknowledged. The sender does
not worry about these frames and keeps no copies of them.
The second region, colored in Figure (a), defines the range of sequence numbers
belonging to the frames that are sent and have an unknown status. The sender needs to
wait to find out if these frames have been received or were lost. We call these
outstandingframes.
The third range, white in the figure, defines the range of sequence numbers for
frames that can be sent; however, the corresponding data packets have not yet been
received from the network layer.
Finally, the fourth region defines sequence numbers that cannot be used until the
window slides
The send window is an abstract concept defining an imaginary box of size 2m − 1
with three variables: Sf, Sn, and Ssize. The variable Sf defines the sequence number of
the first (oldest) outstanding frame. The variable Sn holds the sequence number that will
be assigned to the next frame to be sent. Finally, the variable Ssize defines the size of the
window.
Figure (b) shows how a send window can slide one or more slots to the right
when an acknowledgment arrives from the other end. The acknowledgments in this
protocol are cumulative, meaning that more than one frame can be acknowledged by an
53
ACK frame. In Figure, frames 0, I, and 2 are acknowledged, so the window has slide to
the right three slots. Note that the value of Sf is 3 because frame 3 is now the first
outstanding frame.The send window can slide one or more slots when a valid
acknowledgment arrives.
Receiver window: variable Rn (receive window, next frame expected). The sequence
numbers to the left of the window belong to the frames already received and
acknowledged; the sequence numbers to the right of this window define the frames that
cannot be received. Any received frame with a sequence number in these two regions is
discarded. Only a frame with a sequence number matching the value of Rn is accepted
and acknowledged. The receive window also slides, but only one slot at a time. When a
correct frame is received (and a frame is received only one at a time), the window slides.(
see below figure for receiving window)
The receive window is an abstract concept defining an imaginary box of size 1 with one
single variable Rn. The window slides when a correct frame has arrived; sliding occurs
one slot at a time
Timers
Although there can be a timer for each frame that is sent, in our protocol we use only
one. The reason is that the timer for the first outstanding frame always expires first; we
send all outstanding frames when this timer expires.
Acknowledgment
The receiver sends a positive acknowledgment if a frame has arrived safe and sound and
in order. If a frame is damaged or is received out of order, the receiver is silent and will
discard all subsequent frames until it receives the one it is expecting. The silence of the
receiver causes the timer of the unacknowledged frame at the sender side to expire.
This, in turn, causes the sender to go back and resend all frames, beginning with the
one with the expired timer. The receiver does not have to acknowledge each frame
received. It can send one cumulative acknowledgment for several frames.
Resending a Frame
When the timer expires, the sender resends all outstanding frames. For example,
suppose the sender has already sent frame 6, but the timer for frame 3 expires. This
means that frame 3 has not been acknowledged; the sender goes back and sends frames
54
3,4,5, and 6 again. That is why the protocol is called Go-Back-N ARQ.
Below figure is an example(if ack lost) of a case where the forward channel is reliable,
but the reverse is not. No data frames are lost, but some ACKs are delayed and one is
lost. The example also shows how cumulative acknowledgments can help if
acknowledgments are delayed or lost
Stop-and-Wait ARQ is a special case of Go-Back-N ARQ in which the size of the send
55
window is 1.
Sender Window (explain go-back N sender window concept (before & after sliding.)
The only difference in sender window between Go-back N and Selective Repeat is
Window size)
Receiver window
The receiver window in Selective Repeat is totally different from the one in Go Back-N.
First, the size of the receive window is the same as the size of the send window (2m-1).
The Selective Repeat Protocol allows as many frames as the size of the receiver window
to arrive out of order and be kept until there is a set of in- order frames to be delivered to
the network layer. Because the sizes of the send window and receive window are the same,
all the frames in the send frame can arrive out of order and be stored until they can be
delivered. However the receiver never delivers packets out of order to the network layer.
Above Figure shows the receive window. Those slots inside the window that are colored
define frames that have arrived out of order and are waiting for their neighbors to arrive
before delivery to the network layer.
In Selective Repeat ARQ, the size of the sender and receiver window must be at most one-
half of 2m
56
Delivery of Data in Selective Repeat ARQ:
Flow Diagram
One main difference is the number of timers. Here, each frame sent or resent needs a
timer, which means that the timers need to be numbered (0, 1,2, and 3). The timer for
frame 0 starts at the first request, but stops when the ACK for this frame arrives.
There are two conditions for the delivery of frames to the network layer: First, a set
of consecutive frames must have arrived. Second, the set starts from the beginning of the
window. After the first arrival, there was only one frame and it started from the beginning
of the window. After the last arrival, there are three frames and the first one starts from the
beginning of the window.
Another important point is that a NAK is sent.
The next point is about the ACKs. Notice that only two ACKs are sent here. The first
one acknowledges only the first frame; the second one acknowledges three frames. In
Selective Repeat, ACKs are sent when data are delivered to the network layer. If the
data belonging to n frames are delivered in one shot, only one ACK is sent for all of
them.
Piggybacking
A technique called piggybacking is used to improve the efficiency of the bidirectional
protocols. When a frame is carrying data from A to B, it can also carry control information
about arrived (or lost) frames from B; when a frame is carrying data from B to A, it can
57
also carry control information about the arrived (or lost) frames from A.
58
Vulnerable time in CSMA
Persistence Methods
What should a station do if the channel is busy? What should a station do if the channel is
idle? Three methods have been devised to answer these questions: the 1-persistent method,
the non-persistent method, and the p-persistent method
1-Persistent: In this method, after the station finds the line idle, it sends its frame
immediately (with probability 1). This method has the highest chance of collision because
two or more stations may find the line idle and send their frames immediately.
Non-persistent: a station that has a frame to send senses the line. If the line is idle, it
sends immediately. If the line is not idle, it waits a random amount of time and then senses
the line again. This approach reduces the chance of collision because it is unlikely that two
or more stations will wait the same amount of time and retry to send simultaneously.
However, this method reduces the efficiency of the network because the medium remains
idle when there may be stations with frames to send.
p-Persistent: This is used if the channel has time slots with a slot duration equal to or
greater than the maximum propagation time. The p-persistent approach combines the
59
advantages of the other two strategies. It reduces the chance of collision and improves
efficiency.
In this method, after the station finds the line idle it follows thesesteps:
1. With probability p, the station sends itsframe.
2. With probability q = 1 - p, the station waits for the beginning of thenext time slot
and checks the line again.
a. If the line is idle, it goes to step 1.
b. If the line is busy, it acts as though a collision has occurred and uses the backoff
procedure.
a.
Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
The CSMA method does not specify the procedure following a collision. Carrier
sense multiple access with collision detection (CSMA/CD) augments the algorithm to
handle the collision.
In this method, a station monitors the medium after it sends a frame to see if the
transmission was successful. If so, the station is finished. If, however, there is a collision,
the frame is sent again.
To better understand CSMA/CD, let us look at the first bits transmitted by the two
stations involved in the collision. Although each station continues to send bits in the frame
until it detects the collision, we show what happens as the first bits collide. In below
Figure, stations A and C are involved in the collision.
60
Collision of the first bit in CSMA/CD
At time t 1, station A has executed its persistence procedure and starts sending the bits
of its frame. At time t2, station C has not yet sensed the first bit sent by A. Station C
executes its persistence procedure and starts sending the bits in its frame, which
propagate both to the left and to the right. The collision occurs sometime after time
t2.Station C detects a collision at time t3 when it receives the first bit of A's frame.
Station C immediately (or after a short time, but we assume immediately) aborts
transmission.
Station A detects collision at time t4 when it receives the first bit of C's frame; it also
immediately aborts transmission. Looking at the figure, we see that A transmits for the
duration t4 - tl; C transmits for the duration t3 - t2.
61
Collision and abortion in CSMA/CD
We need to avoid collisions on wireless networks because they cannot be detected. Carrier
sense multiple access with collision avoidance (CSMAlCA) was invented for wirelesss
network. Collisions are avoided through the use of CSMA/CA's three strategies: the inter
frame space, the contention window, and
Timing in CSMA/CA
62
idle. When an idle channel is found, the station does not send immediately. It waits for a
period of time called the inter frame space or IFS.
Even though the channel may appear idle when it is sensed, a distant station may
have already started transmitting. The distant station's signal has not yet reached this
station. The IFS time allows the front of the transmitted signal by the distant station to
reach this station. If after the IFS time the channel is still idle, the station can send, but it
still needs to wait a time equal to the contention time. The IFS variable can also be used to
prioritize stations or frame types. For example, a station that is assigned shorter IFS has a
higher priority.
In CSMA/CA, the IFS can also be used to define the priority of a station or a frame.
Contention Window
The contention window is an amount of time divided into slots. A station that is
ready to send chooses a random number of slots as its wait time. The number of slots in the
window changes according to the binary exponential back-off strategy. This means that it
is set to one slot the first time and then doubles each time the station cannot detect an idle
channel after the IFS time. This is very similar to the p-persistent method except that a
random outcome defines the number of slots taken by the waiting station.
One interesting point about the contention window is that the station needs to sense
the channel after each time slot. However, if the station finds the channel busy, it does not
restart the process; it just stops the timer and restarts it when the channel is sensed as idle.
This gives priority to the station with the longest waiting time.
In CSMA/CA, if the station finds the channel busy, it does not restart the timer of the
contention window; it stops the timer and restarts it when the channel becomes idle.
Acknowledgment
With all these precautions, there still may be a collision resulting in destroyed data.
In addition, the data may be corrupted during the transmission. The positive
acknowledgment and the time-out timer can help guarantee that the receiver has received
the frame.
63
This is the CSMA protocol with collision avoidance.
The station ready to transmit, senses the line by using one of the persistent strategies.
As soon as it finds the line to be idle, the station waits for an IFS (Inter frame
space) amount of time.
If then waits for some random time and sends the frame.
After sending the frame, it sets a timer and waits for the acknowledgement from the
receiver.
If the acknowledgement is received before expiry of the timer, then the
transmission is successful.
But if the transmitting station does not receive
the expected acknowledgement before the timer expiry then it increments the
back off parameter, waits for the back off time and re senses the line
Error Detection
Error
A condition when the receiver’s information does not matches with the sender’s
information. During transmission, digital signals suffer from noise that can introduce
errors in the binary bits travelling from sender to receiver. That means a 0 bit may
64
change to 1 or a 1 bit may change to 0.
Error Detecting Codes (Implemented either at Data link layer or Transport
Layer of OSI Model) Whenever a message is transmitted, it may get scrambled by
noise or data may get corrupted. To avoid this, we use error-detecting codes which are
additional data added to a given digital message to help us detect if any error has
occurred during transmission of the message.
Basic approach used for error detection is the use of redundancy bits, where additional
bits are added to facilitate detection of errors. Some popular techniques for error detection
are:
3. Checksum
65
Checksum
In checksum error detection scheme, the data is divided into k segments each of m
bits.
In the sender’s end the segments are added using 1’s
complement
arithmetic to get the sum. The sum is complemented to get the checksum.
The checksum segment is sent along with the data segments.
At the receiver’s end, all received segments are added using 1’s complement arithmetic
to get the sum. The sum is complemented.
If the result is zero, the received data is accepted; otherwisediscarded.
66
Cyclic redundancy check (CRC)
Error Correction
Error Correction codes are used to detect and correct the errors when data is transmitted
from the sender to the receiver.
67
Suppose r is the number of redundant bits and d is the total number of the data bits. The
number of redundant bits r can be calculated by using the formula:
r
2 >=d+r+1
The value of r is calculated by using the above formula. For example, if the value of d is 4,
then the possible smallest value that satisfies the above relation would be 3.
Hamming Code
Parity bits: The bit which is appended to the original data of binary bits so that the total
number of 1s is even or odd.
Even parity: To check for even parity, if the total number of 1s is even, then the
value of the parity bit is 0. If the total number of 1s occurrences is odd, then the value of
the parity bit is 1.
Odd Parity: To check for odd parity, if the total number of 1s is even, then the
value of parity bit is 1. If the total number of 1s is odd, then the value of parity bit is 0.
Algorithm of Hamming code:
An information of 'd' bits are added to the redundant bits 'r' to form d+r. The location of
each of the (d+r) digits is assigned a decimal value.
The 'r' bits are placed in the positions 1,2, .................... 2k-1
At the receiving end, the parity bits are recalculated. The decimal value of the parity bits
determines the position of an error.
Relationship b/w Error position & binary number.
Let's understand the concept of Hamming code through an example: Suppose the original
68
of the redundant bits is calculated with corresponds to the raised power of 2. Therefore,
their corresponding positions are 1, 21, 22.
The position of r1 = 1, The position of r2 = 2 , The position of r4 = 4
We observe from the above figure that the bit position that includes 1 in the first
position are 1, 3, 5, 7. Now, we perform the even-parity check at these bit positions. The
total number of 1 at these bit positions corresponding to r1 is even, therefore, the value
of the r1 bit is 0.
Determining r2 bit: The r2 bit is calculated by performing a parity check on the bit
positions whose binary representation includes 1 in the second position
We observe from the above figure that the bit positions that includes 1 in the second
position are 2, 3, 6, 7. Now, we perform the even-parity check at these
bit positions. The total number of 1 at these bit positions corresponding to r2 is odd,
therefore, the value of the r2 bit is 1.
69
Determining r4 bit: The r4 bit is calculated by performing a parity check on the bit
positions whose binary representation includes 1 in the third position.
We observe from the above figure that the bit positions that includes 1 in the third
position are 4, 5, 6, 7. Now, we perform the even-parity check at these bit positions. The
total number of 1 at these bit positions corresponding to r4 is even, therefore, the value
of the r4 bit is 0.
Suppose the 4th bit is changed from 0 to 1 at the receiving end, then parity bits are
recalculated.
R1 bit
The bit positions of the r1 bit are 1,3,5,7
We observe from the above figure that the binary representation of r1 is 1100. Now, we
perform the even-parity check, the total number of 1s appearing in the r1 bit is an even
number. Therefore, the value of r1 is 0.
R2 bit
The bit positions of r2 bit are 2,3,6,7.
70
We observe from the above figure that the binary representation of r2 is 1001. Now, we
perform the even-parity check, the total number of 1s appearing in the r2 bit is an even
number. Therefore, the value of r2 is 0.
R4 bit
The bit positions of r4 bit are 4,5,6,7.
We observe from the above figure that the binary representation of r4 is 1011. Now, we
perform the even-parity check, the total number of 1s appearing in the r4 bit is an odd
number. Therefore, the value of r4 is 1.
The binary representation of redundant bits, i.e., r4r2r1 is 100, and its corresponding
decimal value is 4. Therefore, the error occurs in a 4th bit position. The bit value must be
changed from 1 to 0 to correct the error.
The relationship of the 802 Standard to the traditional OSI model is shown in below
Figure. The IEEE has subdivided the data link layer into two sub layers: logical link
control (LLC) and media access control).
IEEE has also created several physical layer standards for different LAN protocols
71
IEEE standard for LANs
STANDARD ETHERNET
The original Ethernet was created in 1976 at Xerox’s Palo Alto Research Center (PARC).
Since then, it has gone through four generations.
Standard Ethernet (l0 Mbps), Fast Ethernet (100 Mbps), Gigabit Ethernet (l Gbps), and
Ten-Gigabit Ethernet (l0 Gbps),
We briefly discuss the Standard (or traditional) Ethernet in this section
MAC Sublayer
In Standard Ethernet, the MAC sublayer governs the operation of the access method. It
also frames data received from the upper layer and passes them to the physical layer.
Frame Format
The Ethernet frame contains seven fields: preamble, SFD, DA, SA, length or type of
protocol data unit (PDU), upper-layer data, and the CRC. Ethernet does not provide any
mechanism for acknowledging received frames, making it what is known as an
unreliable medium. Acknowledgments must be implemented at the higher layers. The
format of the MAC frame is shown in below figure
72
Preamble. The first field of the 802.3 frame contains 7 bytes (56 bits) of alternating 0s and
1s that alerts the receiving system to the coming frame and enables it to synchronize its
input timing. The pattern provides only an alert and a timing pulse. The 56-bit pattern
allows the stations to miss some bits at the beginning of the frame. The preamble is
actually added at the physical layer and is not (formally) part of the frame.
Start frame delimiter (SFD). The second field (l byte: 10101011) signals the beginning of
the frame. The SFD warns the station or stations that this is the last chance for
synchronization. The last 2 bits is 11 and alerts the receiver that the next field is the
destination address.
Destination address (DA). The DA field is 6 bytes and contains the physical address of the
destination station or stations to receive the packet.
Source address (SA). The SA field is also 6 bytes and contains the physical address of
the sender of thepacket.
Length or type. This field is defined as a type field or length field. The original Ethernet
used this field as the type field to define the upper-layer protocol using the MAC frame.
The IEEE standard used it as the length field to define the number of bytes in the data
field. Both uses are common today.
Data. This field carries data encapsulated from the upper-layer protocols. It is a minimum
of 46 and a maximum of 1500 bytes.
CRC. The last field contains error detection information, in this case a CRC-32
Frame Length
Ethernet has imposed restrictions on both the minimum and maximum lengths of a frame,
as shown in below Figure
An Ethernet frame needs to have a minimum length of 512 bits or 64 bytes. Part of
this length is the header and the trailer. If we count 18 bytes of header and trailer (6 bytes
of source address, 6 bytes of destination address, 2 bytes of length or type, and 4 bytes of
CRC), then the minimum length of data from the upper layer is 64 - 18 = 46 bytes. If the
upper-layer packet is less than 46 bytes, padding is added to make up the difference
The standard defines the maximum length of a frame (without preamble and SFD
field) as 1518 bytes. If we subtract the 18 bytes of header and trailer,the maximum length
of the payload is 1500 bytes.
The maximum length restriction has two historical reasons.
First, memory was very expensive when Ethernet was designed: a maximum length
restriction helped to reduce the size of the buffer.
Second, the maximum length restriction prevents one station from monopolizing the
73
shared medium, blocking other stations that have data to send.
Addressing
The Ethernet address is 6 bytes (48 bits), normally written in hexadecimal notation, with a
colon between the bytes.
Example of an Ethernet address in hexadecimal notation
If the least significant bit of the first byte in a destination address is 0, the address is
unicast; otherwise, it is multicast.
A unicast destination address defines only one recipient; the relationship between the
sender and the receiver is one-to-one.
A multicast destination address defines a group of addresses; the relationship between the
sender and the receivers is one-to-many.
The broadcast address is a special case of the multicast address; the recipients are all the
stations on the LAN. A broadcast destination address is forty-eight 1s.
Access Method: CSMA/CD
Standard Ethernet uses I-persistent CSMA/CD Slot Time In an Ethernet network.
Slot time =round-trip time + time required to send the jam sequence
The slot time in Ethernet is defined in bits. It is the time required for a station
to send 512 bits. This means that the actual slot time depends on the data rate; for
traditional 10-Mbps Ethernet it is 51.2 micro sec.
Slot Time and Maximum Network Length There is a relationship between the slot time
and the maximum length of the network (collision domain). It is dependent on the
propagation speed of the signal in the particular medium.
In most transmission media, the signal propagates at 2 x 10 8 m/s (two-thirds of the rate
74
for propagation inair).
For traditional Ethernet, we calculate
MaxLength=PropagationSpeedx(SlotTime/2) MaxLength
= (2 x 108) X(51.2 X10-6 )/2
= 5120m
Of course, we need to consider the delay times in repeaters and interfaces, and the time
required to send the jam sequence. These reduce the maximum- length of a traditional
Ethernet network to 2500 m, just 48 percent of the theoretical calculation.
MaxLength=2500 m
Wireless LANs
Wireless LANs are those Local Area Networks that use high frequency radio waves instead of
cables for connecting the devices in LAN. Users connected by WLANs can move around within the
area of network coverage. Most WLANs are based upon the standard IEEE 802.11 or WiFi.
IEEE 802.11 Architecture
The components of IEEE 802.11 architecture are as follows
1) Stations (STA) − Stations comprise all devices and equipments that are connected to the wireless
LAN. A station can be of two types:
Wireless Access Pointz (WAP) − WAPs or simply access points (AP) are generally wireless
routers that form the base stations or access.
Client. − Clients are workstations, computers, laptops, printers, smart phones, etc.
Each station has a wireless network interface controller.
2) Basic Service Set (BSS) −A basic service set is a group of stations communicating at physical
layer level. BSS can be of two categories depending upon mode of operation:
Infrastructure BSS − Here, the devices communicate with other devices through access
points.
Independent BSS − Here, the devices communicate in peer-to-peer basis in an ad hoc
manner.
3) Extended Service Set (ESS) − It is a set of all connected BSS.
4) Distribution System (DS) − It connects access points in ESS.
75
Advantages of WLANs
They provide clutter free homes, offices and other networked places.
The LANs are scalable in nature, i.e. devices may be added or removed from the network at a
greater ease than wired LANs.
The system is portable within the network coverage and access to the network is not bounded
by the length of the cables.
Installation and setup is much easier than wired counterparts.
The equipment and setup costs are reduced.
Disadvantages of WLANs
Since radio waves are used for communications, the signals are noisier with more interference
from nearby systems.
Greater care is needed for encrypting information. Also, they are more prone to errors. So,
they require greater bandwidth than the wired LANs.
WLANs are slower than wired LANs.
76
Questions
Part A
Part B
77
NETWORK LAYER
Routing algorithms
The main function of the network layer is routing packets from the source machine to the destination
machine. Routing algorithm can be grouped into two major classes. Nonadaptive and Adaptive
algorithms.
2
Classification of a Routing algorithm
Knowledge about the whole network: Each router shares its knowledge through the
entire network. The Router sends its collected knowledge about the network to its neighbors.
Routing only to neighbors: The router sends its knowledge about the network to only
those routers which have direct links. The router sends whatever it has about the network
through the ports. The information is received by the router and uses the information to
update its own routingtable.
Information sharing at regular intervals: Within 30 seconds, the router sends the
information to the neighboring routers.
3
Let's understand through an example
• In the above figure, each cloud represents the network, andthe number inside the cloud
represents the network ID.
• All the LANs are connected by routers, and they are represented in boxes labeled as A,B,
C, D, E, F.
• Distance vector routing algorithm simplifies the routing process by assuming the cost of
every link is one unit. Therefore, the efficiency of transmission can be measured by the
number of links to reachthe destination.
• In Distance vector routing, the cost is based on hop count.
4
• In the above figure, we observe that the router sends the knowledge to the immediate
neighbors.
• The neighbors add this knowledge to their own knowledge and sends the updated table
to their own neighbors.
• In this way, routers get its own information plus the new information about the
neighbors.
Routing Table
5
In the above figure, the original routing tables are shown of all the routers. In a routing
table, the first column represents the network ID, the second column represents the cost of the
link,
For Example:
6
Updating the Table
• When A receives a routing table from B, then it uses its information to update the table.
• The routing table of B shows how the packets can move to the networks 1 and 4.
• The B is a neighbor to the A router, the packets from A to B can reach in one hop. So, 1 is
added to all the costs given in the B's table and the sum will be the cost to reach a particular
network.
After adjustment, A then combines this table with its own tableto create a combined table.
• The combined table may contain some duplicate data. In the above figure, the
combined table of router A contains the duplicate data, so it keeps only those data which has
the lowest cost. For example, A can send the data to network 1 in two ways. The first, which
uses no next router, so it costs one hop. The second requires two hops (A to B, then B to
Network 1). The first option has the lowest cost, therefore it is kept and the second one is
dropped.
• The process of creating the routing table continues for all routers. Every router
receives the information from the neighbors, and update the routing table.
7
Final routing tables of all the
Link state routing is a technique in which each router shares the knowledge of its
neighborhood with every other router in the internetwork.
Knowledge about the neighborhood: Instead of sendingits routing table, a router sends
the information about its neighborhood only. A router broadcast its identities and cost of the
directly attached links to other routers.
Flooding: Each router sends the information to every other router on the internetwork
except its neighbors. This process is known as Flooding. Every router that receives the
packet sends the copies to all its neighbors. Finally, each and every router receives a copy of
the same information.
8
Information sharing: A router sends the informationto every other router only when the
change occurs in the
Link State Routing has two phases Reliable Flooding
Each node uses Dijkstra's algorithm on the graph to calculate the optimal routes to all
nodes.
The Link state routing algorithm is also known as Dijkstra's algorithm which is used to
find the shortest path from one node to every othernode in the network.
The Dijkstra's algorithm is an iterative, and ithas
INFORMATION SHARING
• In link state cost is a weighted value based on factors such as security levels, traffic or
state of the link.
• The cost from router A to network ID 1 is different from router A to network ID 2 .
9
• Two factors how cost is applied
• 1.Cost is applied only by routers not by any other stations on anetwork.
• 2. Cost is applied as a packet cost
• When a router floods the network with information about its neighbored it is said to be
advertising.
• The basis of this advertising is a short packet called link state packet (LSP).
• It contains 4 fields
• 1.ID of advertiser
• 2. ID of destination network
• 3. cost
10
11
Internet Protocol Version 4 (IPv4)
• Internet Protocol is one of the major protocols in the TCP/IP protocols suite.
• This protocol works at the network layer of the OSI model and at the Internet layer of the
TCP/IP model.
12
• Thus this protocol has the responsibility of identifying hosts based upon their logical
addresses and to route data among them over the underlying network.
• Internet Protocol being a layer-3 protocol (OSI) takes data Segments from layer-4
(Transport) and divides it into packets.
• IP packet encapsulates data unit received from above layer and add to its own header
information.
• The encapsulated data is referred to as IP Payload. IP header contains all the necessary
information to deliver the packet at the other end.
IP header
• IP header includes many relevant information including Version Number, which, in this
context, is 4.
13
• Total Length − Length of entire IP Packet (including IP header and IP Payload).
• Identification − If IP packet is fragmented during the transmission, all the fragments
contain same identification number. to identify originalIP packet they belong to.
• Flags − As required by the network resources, if IP Packet is too large to handle, these
‘flags’ tells if they can be fragmented or not. In this 3- bit flag, the MSB is always set to ‘0’.
• Fragment Offset − This offset tells the exact position of the fragmentin the original IP
Packet.
• Time to Live − To avoid looping in the network, every packet is sent with some TTL value
set, which tells the network how many routers (hops) this packet can cross. At each hop, its
value is decremented by one and when the value reaches zero, the packet is discarded.
• Protocol − Tells the Network layer at the destination host, to which Protocol this packet
belongs to, i.e. the next level Protocol. For example protocol number of ICMP is 1, TCP is 6
and UDP is17.
• Header Checksum − This field is used to keep checksum value of entire header which is
then used to check if the packet is received error-free.
• Source Address − 32-bit address of the Sender (or source) of the packet.
14
• Destination Address − 32-bit address of the Receiver (or destination) of the packet.
• Options − This is optional field, which is used if the value of IHL is greater than 5. These
options may contain values for options such as Security, Record Route, Time Stamp, etc.
IPv4 - Addressing
• In this mode, data is sent only to one destined host. The Destination Address field contains
32- bit IP address of the destination host. Here the client sends data to the targetedserver
15
Broadcast Addressing Mode:
• In this mode, the packet is addressed to all the hosts in a network segment. The
Destination Address field contains a special broadcast address, i.e. 255.255.255.255.
When a host sees this packet on the network, it is bound to process it. Here the client
sends a packet, which is entertained by all the Servers
16
• Hierarchical Addressing Scheme:
• IPv4 uses hierarchical addressing scheme. An IP address, which is 32-bits in length, is
divided into two or three parts as depicted
• A single IP address can contain information about the network and its sub-network and
ultimately the host. This scheme enables the IP Address to be hierarchical where a
network can have many sub-networks which in turn can have
IPv4 - Address Classes
• Broadly, the IPv4 Addressing system is divided into five classes of IP Addresses. All
the five classes are identified by the first octet of IP Address.
• The first octet referred here is the left most of all. The octets numbered as follows
depicting dotted decimal notation of IP Address−
• The number of networks and the number of hosts per class can be derived by
this formula −
• Class AAddress
• The first bit of the first octet is always set to 0 (zero). Thus the first
17
• Class A addresses only include IP starting from 1.x.x.x to 126.x.x.x only. The IP
range
127.x.x.x is reserved for loopback IPaddresses.
• The default subnet mask for Class A IP address is 255.0.0.0 which implies that Class A
addressing can have 126 networks (27-2) and 16777214 hosts (224-2).
• Class A IP address formatis
thus: 0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
• Class B Address
• An IP address which belongs to class B has the first two bits in the first octet set to 10, i.e.
• Class B IP Addresses range from 128.0.x.x to 191.255.x.x.The default subnet mask for
Class B is 255.255.x.x.
• Class B has 16384 (214) Network addresses and 65534 (216-2) Host addresses.
• Class B IP address format
is: 10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
• Class C Address
• The first octet of Class C IP address has its first 3 bits set to110, that is −
• Class C IP addresses range from 192.0.0.x to 223.255.255.x. The default subnet mask for
Class C is 255.255.255.x.
• Class C gives 2097152 (221) Network addresses and 254 (28-2) Host addresses.
• Class C IP address format
is: 110NNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
• Class D Address
• Very first four bits of the first octet in Class D IP addresses are set to 1110, giving a
range of −
18
• Class E Address
• This IP Class is reserved for experimental purposes only for R&D or Study. IP
addresses
• in this class ranges from 240.0.0.0 to 255.255.255.254. Like Class D, this class too is
not equipped with any subnet mask. Internet Protocol v6 (IPv6)
• This is where ARP comes into the picture, its functionality is to translate IP
address to physical address.
•
The acronym ARP stands for Address Resolution Protocol which is one of the most
important protocols of the Network layer in the OSImodel.
Note: ARP finds the hardware address, also known as Media Access Control (MAC)
address, of a host from its known IP address.
19
• Address Resolution Protocol is a communication protocol used for discovering physical
address associated with given network address.
• Typically, ARP is a network layer to data link layer mapping process, which is used to
discover MAC address for given Internet Protocol Address.
• In order to send the data to destination, having IP address is necessary but not sufficient;
• we also need the physical address of the destination machine. ARP is used to get the
physical address (MAC address) of destination machine.
• Imagine a device wants to communicate with the other over the internet. What ARPdoes?
• It broadcast a packet to all the devices of the source network.
20
• The devices of the network peel the header of the data link layer from the protocol data
unit (PDU) called frame and transfers the packet to the network layer (layer 3 of OSI)
where the network ID of the packet is validated with the destination IP’s network ID of
the packet and if it’s equal then it responds to the source with the MAC address of the
destination, else the packet reaches the gateway of the network and broadcasts packet to
the devices it is connected with and validates their network ID
• The above process continues till the second last network device in the path to reach the
destination where it gets validated and ARP, in turn, responds with the destination MAC
address.
• Before sending the IP packet, the MAC address of destination must be known.
• If not so, then sender broadcasts the ARP-discovery packet requesting the MAC address
of intended destination.
• Since ARP-discovery is broadcast, every host inside that network will get this message but
the packet will be discarded by everyone except that intended receiver host whose IP is
associated.
• Now, this receiver will send a unicast packet with its MAC address (ARP-reply) to the
sender of ARP-discovery packet. After the original sender receives the ARP-reply, it
updates ARP-cache and start sending unicast message to the destination.
ARP Cache: After resolving MAC address, the ARP sends it to the source where it stores in a
table for future reference. The subsequent communications can use the MAC address from the
table
ARP Cache Timeout: It indicates the time for which the MAC address in the ARP cache can
reside
ARP request: This is nothing but broadcasting a packet over the network to validate whether
we came across destination MAC address or not.
• ARP response/reply: It is the MAC address response that the source receives
from the destination which aids in further communication of the data.
• CASE-1:The sender is a host and wants to send a packet to another host on the
same network.
• Reve
rse ARP is a networking protocol used by a client machine in a local area network to
request its Internet Protocol address (IPv4) from the gateway-router’s ARP table.
• The
network administrator creates a table in gateway-router, which is used to map the MAC
address to corresponding IP address. When a new machine is setup or any machine which
don’t have memory to store IP address, needs an IP address for its own use. So the
machine sends a RARP broadcast packet which contains its own MAC address in both
sender and receiver hardware address field.
22
• A special host configured inside the local area network, called as RARP-server is
responsible to reply for these kind of broadcast packets. Now the RARP server attempt to
find out the entry in IP to MAC address mapping table. If any entry matches in table,
RARP server send the response packet to the requesting device along with IP address.
• LAN technologies like Ethernet, Ethernet II, Token Ring and Fiber Distributed Data
Interface (FDDI) support the Address Resolution Protocol.
• RARP is not being used in today’s networks. Because we have much great featured
protocols like BOOTP (Bootstrap Protocol) and DHCP (Dynamic Host Configuration
Protocol).
DHCP is based on a client-server model and based on discovery, offer, request, and ACK.
DHCP port number for server is 67 and for the client is 68. It is a Client server protocol which uses
UDP services. IP address is assigned from a pool of addresses. In DHCP, the client and the server
exchange mainly 4 DHCP messages in order to make a connection, also called DORA process, but there
are 8 DHCP messages in the process.
These messages are given as below:
1. DHCP discover message –
This is a first message generated in the communication process between server and client. This
message is generated by Client host in order to discover if there is any DHCP server/servers are
present in a network or not. This message is broadcasted to all devices present in a network to
find the DHCP server. This message is 342 or 576 bytes long
As shown in the figure, source MAC address (client PC) is 08002B2EAF2A, destination MAC
address(server) is FFFFFFFFFFFF, source IP address is 0.0.0.0(because PC has no IP address till now)
and destination IP address is 255.255.255.255 (IP address used for broadcasting). As the discover
23
message is broadcast to find out the DHCP server or servers in the network therefore broadcast IP
address and MAC address is used.
2. DHCP offer message –
The server will respond to host in this message specifying the unleased IP address and other TCP
configuration information. This message is broadcasted by server. Size of message is 342 bytes.
If there are more than one DHCP servers present in the network then client host will accept the
first DHCP OFFER message it receives. Also a server ID is specified in the packet in order to
identify the server.
Now, for the offer message, source IP address is 172.16.32.12 (server’s IP address in the example),
destination IP address is 255.255.255.255 (broadcast IP address) ,source MAC address is
00AA00123456, destination MAC address is FFFFFFFFFFFF. Here, the offer message is broadcast by
the DHCP server therefore destination IP address is broadcast IP address and destination MAC address
is FFFFFFFFFFFF and the source IP address is server IP address and MAC address is server MAC
address.
Also the server has provided the offered IP address 192.16.32.51 and lease time of 72 hours(after this
time the entry of host will be erased from the server automatically) . Also the client identifier is PC
MAC address (08002B2EAF2A) for all the messages.
3. DHCP request message –
When a client receives a offer message, it responds by broadcasting a DHCP request message.
The client will produce a gratitutous ARP in order to find if there is any other host present in the
network with same IP address. If there is no reply by other host, then there is no host with same
TCP configuration in the network and the message is broadcasted to server showing the
acceptance of IP address .A Client ID is also added in this message.
Now, the request message is broadcast by the client PC therefore source IP address is 0.0.0.0(as the
client has no IP right now) and destination IP address is 255.255.255.255 (broadcast IP address) and
source MAC address is 08002B2EAF2A (PC MAC address) and destination MAC address is
24
FFFFFFFFFFFF.
Note – This message is broadcast after the ARP request broadcast by the PC to find out whether any
other host is not using that offered IP. If there is no reply, then the client host broadcast the DHCP
request message for the server showing the acceptance of IP address and Other TCP/IP Configuration.
4. DHCP acknowledgement message –
In response to the request message received, the server will make an entry with specified client
ID and bind the IP address offered with lease time. Now, the client will have the IP address
provided by server.
Now the server will make an entry of the client host with the offered IP address and lease time. This IP
address will not be provided by server to any other host. The destination MAC address is
FFFFFFFFFFFF and the destination IP address is 255.255.255.255 and the source IP address is
172.16.32.12 and the source MAC address is 00AA00123456 (server MAC address).
5. DHCP negative acknowledgement message –
Whenever a DHCP server receives a request for IP address that is invalid according to the scopes
that is configured with, it send DHCP Nak message to client. Eg-when the server has no IP
address unused or the pool is empty, then this message is sent by the server to client.
6. DHCP decline –
If DHCP client determines the offered configuration parameters are different or invalid, it sends
DHCP decline message to the server .When there is a reply to the gratuitous ARP by any host to
the client, the client sends DHCP decline message to the server showing the offered IP address is
already in use.
7. DHCP release –
A DHCP client sends DHCP release packet to server to release IP address and cancel any
remaining lease time.
8. DHCP inform –
If a client address has obtained IP address manually then the client uses a DHCP inform to obtain
other local configuration parameters, such as domain name. In reply to the dhcp inform message,
DHCP server generates DHCP ack message with local configuration suitable for the client
without allocating a new IP address. This DHCP ack message is unicast to the client.
Note – All the messages can be unicast also by dhcp relay agent if the server is present in different
25
network.
Advantages – The advantages of using DHCP include:
centralized management of IP addresses
ease of adding new clients to a network
reuse of IP addresses reducing the total number of IP addresses that are required
simple reconfiguration of the IP address space on the DHCP server without needing to
reconfigure each client
The DHCP protocol gives the network administrator a method to configure the network from a
centralized area.
With the help of DHCP, easy handling of new users and reuse of IP address can be achieved.
Disadvantages – Disadvantage of using DHCP is:
IP conflict can occur
The IP protocol has no error-reporting or error-correcting mechanism. The IP protocol also lacks a
mechanism for host and management queries. The Internet Control Message Protocol (ICMP) has been
designed to compensate for the above two deficiencies. It is a companion to the IP protocol.
Error-reporting messages
26
message.
No ICMP error message will be generated for a fragmented datagram that is not the first
fragment.
No ICMP error message will be generated for a datagram having a multicast address.
No ICMP error message will be generated for a datagram having a special address such as
127.0.0.0 or 0.0.0.0
Query messages
The IP protocol can be involved in two types of communication: unicasting and multicasting.
The Internet Group Management Protocol (IGMP) is one of the necessary, but not sufficient,
protocols that is involved in multicasting. IGMP is a companion to the IP protocol
27
IGMP message types
Type
This 8-bit field defines the type of message, as shown in Table. The value of the type is
shown in both hexadecimal and binary notation.
IGMP operation
Joining a Group
Leaving a Group
Monitoring Membership
Delayed Response
28
Networking Devices
1. Repeater – A repeater operates at the physical layer. Its job is to regenerate the signal
over the same network before the signal becomes too weak or corrupted so as to extend
the length to which the signal can be transmitted over the same network. An important
point to be noted about repeaters is that they do not amplify the signal. When the signal
becomes weak, they copy the signal bit by bit and regenerate it at the original strength. It
is a 2 port device.
2. Hub – A hub is basically a multiport repeater. A hub connects multiple wires coming
from different branches, for example, the connector in star topology which connects
different stations. Hubs cannot filter data, so data packets are sent to all connected
devices. In other words, collision domain of all hosts connected through Hub remains
one. Also, they do not have intelligence to find out best path for data packets which leads
to inefficiencies and wastage.
Types of Hub
a. Active Hub: - These are the hubs which have their own power supply and can clean,
boost and relay the signal along with the network. It serves both as a repeater as well as
wiring centre. These are used to extend the maximum distance between nodes.
29
b. Passive Hub: - These are the hubs which collect wiring from nodes and power supply
from active hub. These hubs relay signals onto the network without cleaning and boosting
them and can’t be used to extend the distance between nodes.
c. Intelligent Hub: - It work like active hubs and include remote management capabilities.
They also provide flexible data rates to network devices. It also enables an administrator
to monitor the traffic passing through the hub and to configure each port in the hub.
3. Bridge – A bridge operates at data link layer. A bridge is a repeater, with add on the
functionality of filtering content by reading the MAC addresses of source and destination.
It is also used for interconnecting two LANs working on the same protocol. It has a single
input and single output port, thus making it a 2 port device.
Types of Bridges
a. Transparent Bridges:- These are the bridge in which the stations are completely
unaware of the bridge’s existence i.e. whether or not a bridge is added or deleted from the
network, reconfiguration of the stations is unnecessary. These bridges make use of two
processes i.e. bridge forwarding and bridge learning.
b. Source Routing Bridges:- In these bridges, routing operation is performed by source
station and the frame specifies which route to follow. The hot can discover frame by
sending a special frame called discovery frame, which spreads through the entire network using
all possible paths to destination.
4. Switch – A switch is a multiport bridge with a buffer and a design that can boost its
efficiency (a large number of ports imply less traffic) and performance. A switch is a data
link layer device. The switch can perform error checking before forwarding data that
makes it very efficient as it does not forward packets that have errors and forward good
packets selectively to correct port only. In other words, switch divides collision domain of
30
hosts, but broadcast domain remains same.
5. Routers – A router is a device like a switch that routes data packets based on their IP
addresses. Router is mainly a Network Layer device. Routers normally connect LANs and
WANs together and have a dynamically updating routing table based on which they make
decisions on routing the data packets. Router divide broadcast domains of hosts connected
through it.
31
7. Brouter – It is also known as bridging router is a device which combines features of
both bridge and router. It can work either at data link layer or at network layer. Working as
router, it is capable of routing packets across networks and working as bridge, it is capable
of filtering local area network traffic.
32
QUESTIONS
PARTA
1. What is routing?
2. How can the routing be classified?
3. Define an internetwork
4. What does routing metric mean?
5. What are the metrics used in determining the best path for a routing protocol?
6. What is a benefit of DHCP
7. What are the salient features of IPv6
8. What is ICMP
9. Define unicasting
10. Define Multicasting
11. Define Broadcasting
PART B
1. Define routing & explain distance vector routing
2. Define routing & explain link state routing.
3. Write short notes on IPv4 and IPv6
4. Explain the following
a. ICMP
b. DHCP
5. Define bridge and explain the type of bridges
6. Write short notes about repeaters, routers and gateways.
TRANSPORT LAYER
TCP- UDP - Connection Management- Flow Control - Retransmission - Congestion
Control - Leaky bucket algorithm-Detection and Avoidance
The Transmission Control Protocol (TCP) is one of the most important protocols of Internet
Protocols suite. It is most widely used protocol for data transmission in communication
network such as internet Features
• TCP is reliable protocol. That is, the receiver always sends either positive or
negative acknowledgement about the data packet to the sender, so that the
sender always has bright clue about whether the data packet is reached the
destination or it needs to resend it.
33
• TCP ensures that the data reaches intended destination in the same order it was
sent.
• TCP is connection oriented. TCP requires that connection between two remote
points be established before sending actual data.
• TCP provides error-checking and recovery mechanism.
• TCP provides end-to-end communication.
• TCP provides flow control and quality of service.
• TCP operates in Client/Server point-to-point mode.
Connection oriented
Explicit set-up and tear-down of TCP session
Stream-of-bytes service
Sends and receives a stream of bytes, not messages
Reliable, in-order delivery
Checksums to detect corrupted data
Acknowledgments & retransmissions for reliable delivery
Sequence numbers to detect losses and reorder data
Flow control
Prevent overflow of the receiver’s buffer space
Congestion control
Adapt to network congestion for the greater good
34
Fig 3.1: TCP features
35
Header
• The length of TCP header is minimum 20 bytes long and maximum 60 bytes.
Fig3.3:TCP Header
• Source Port (16-bits)- It identifies source port of the application process on the sending
device.
36
processing all other packets. The receiver will be notified when all known urgent data has been
received
– ACK - The acknowledgment flag is used to acknowledge the successful receipt
of a packet. As we can see from the diagram above, the receiver sends an
ACK as well as a SYN in the second step of the three way handshake process
to tell the sender that it received its initial packet..
– PSH - The push flag is somewhat similar to the URG flag When set, it is a
request to the receiving station to PUSH data (as soon as it comes) to the
receiving application without buffering it.
• RST - Reset flag has the following features:
– It is used to refuse an incoming connection.
– It is used to reject a segment.
– It is used to restart a connection.
• SYN - The synchronization flag is used as a first step in establishing a three
way handshake between two hosts. Only the first packet from both the sender
and receiver should have this flag set.
• FIN - The finished flag means there is no more data from the sender. Therefore,
it is used in the last packet sent from the sender
• Windows Size - This field is used for flow control between two stations and
indicates the amount of buffer (in bytes) the receiver has allocated for a
segment, i.e. how much data is the receiverexpecting.
• Checksum - This field contains the checksum of Header, Data and Pseudo
Headers.
• Urgent Pointer - It points to the urgent data byte if URG flag is set to 1.
• Options - It facilitates additional options which are not covered by the regular
header. Option field is always described in 32-bit words. If this field contains
data less than 32-bit, padding is used to cover the remaining bits to reach 32-
bit boundary.
Connection Management
TCP communication works in Server/Client model. The client initiates the connection and the
server either accepts or rejects it. Three-way handshaking is used for connection management.
• Step 1 (SYN) : In the first step, client wants to establish a connection with
server, so it sends a segment with SYN(Synchronize Sequence Number)
which informs server that client is likely to start communication and with
what sequence number it starts segments with
• Step 2 (SYN + ACK): Server responds to the client request with SYN-ACK
signal bits set. Acknowledgement(ACK) signifies the response of segment it
received and SYN signifies with what sequence number it is likely to start
the segments with
37
Fig3.4:Three way handshake
• Step 3 (ACK) : In the final part client acknowledges the response of server and
they both establish a reliable connection with which they will start the actual
data transfer
• The steps 1, 2 establish the connection parameter (sequence number) for one
direction and it is acknowledged. The steps 2, 3 establish the connection
parameter (sequence number) for the other direction and it is acknowledged.
With these, a full-duplex communication is established.
Bandwidth Management
38
Error Control &and Flow Control
TCP uses sequence numbers to synchronize itself with the remote host. All data
segments are sent and received with sequence numbers. The Sender knows which last
data segment was received by the Receiver
when it gets ACK. The Receiver knows about the last segment sent by the Sender by
referring to the sequence number of recently received packet.
If the sequence number of a segment recently received does not match with the
sequence number the receiver was expecting, then it is discarded and NACK is sent
back. If two segments arrive with the same sequence number, the TCP timestamp value
is compared to make a decision.
Congestion Control
When large amount of data is fed to system which is not capable of
handling it, congestion occurs. TCP controls congestion by means of
Window mechanism. TCP sets a window size telling the other end how
much data segment to send. TCP may use three algorithms for congestion
control:
Additive increase, Multiplicative Decrease
Slow Start
Timeout React
Timer Management
• TCP uses different types of timer to control and management various tasks:
• Keep-alive timer:
• This timer is used to check the integrity and validity of a connection.
• When keep-alive time expires, the host sends a probe to check if the connection
still exists.
• Retransmission timer:
• This timer maintains stateful session of data sent.
• If the acknowledgement of sent data does not receive within the Retransmission
time, the data segment is sent again.
• Persist timer:
• TCP session can be paused by either host by sending Window Size 0.
• To resume the session a host needs to send Window Size with some larger
value.
• If this segment never reaches the other end, both ends may wait for each other
for infinite time.
• When the Persist timer expires, the host re-sends its window size to let the other
end know.
• Persist Timer helps avoid deadlocks in communication.
• Timed-Wait:
• After releasing a connection, either of the hosts waits for a Timed-Wait time to
39
terminate the connection completely.
• This is in order to make sure that the other end has received the
acknowledgement of its connection termination request.
• Timed-out can be a maximum of 240 seconds (4 minutes).
TCP protocol has methods for finding out corrupted segments, missing segments, out-of-order
segments and duplicated segments.
Error control in TCP is mainly done through use of three simple techniques :
Checksum – Every segment contains a checksum field which is used to find corrupted segment.
If the segment is corrupted, then that segment is discarded by the destination TCP and is
considered as lost
Acknowledgement – TCP has another mechanism called acknowledgement to affirm that the
data segments have been delivered.
Retransmission – When a segment is missing, delayed to deliver to receiver, corrupted when it
is checked by receiver then that segment is retransmitted again. Segments are retransmitted only
during two events: when the sender receives three duplicate acknowledgements (ACK) or when
a retransmission timer expires.
Retransmission after RTO : TCP always preserve one retransmission time-out (RTO) timer
for all sent but not acknowledged segments. When the timer runs out of time, the earliest
segment is retransmitted. Here no timer is set for acknowledgement. In TCP, RTO value is
dynamic in nature and it is updated using round trip time (RTT) of segments.
RTT(round trip time) is the time duration needed for a segment to reach receiver and an
acknowledgement to be received to the sender.
Retransmission after Three duplicate ACK segments : RTO method works well when the
value of RTO is small. If it is large, more time is needed to get confirmation about whether a
segment has delivered or not. Sometimes one segment is lost and the receiver receives so many
out-of-order segments that they cannot be saved. In order to solve this situation, three duplicate
acknowledgement method is used and missing segment is retransmitted immediately instead of
retransmitting already delivered segment. This is a fast retransmission because it makes it
possible to quickly retransmit lost segments instead of waiting for timer to end.
40
User Datagram Protocol (UDP)
UDP header is 8-bytes fixed and simple header, while for TCP it may vary
from 20 bytes to 60 bytes. First 8 Bytes contains all necessary header
information and remaining part consist of data. UDP port number fields are
each 16 bits long, therefore range for port numbers defined from 0 to
65535; port number 0 is reserved. Port numbers help to distinguish
different user requests or process.
41
Source Port : Source Port is 2 Byte long field used to identify port number
of source.
Destination Port : It is 2 Byte long field, used to identify the port of
destined packet.
Length : Length is the length of UDP including header and the data. It is
16-bits field.
Checksum : Checksum is 2 Bytes long field. It is the 16-bit one’s
complement of the one’s complement sum of the UDP header, pseudo
header of information from the IP header and the data, padded with zero
octets at the end (if necessary) to make a multiple of two octets.
Applications of UDP:
Used for simple request response communication when size of data is less and hence
there is lesser concern about flow and error control.
It is suitable protocol for multicasting as UDP supports packet switching.
UDP is used for some routing update protocols like RIP(Routing Information Protocol).
Normally used for real time applications which can not tolerate uneven delays between
sections of a received message.
Following implementations uses UDP as a transport layer protocol:
NTP (Network Time Protocol)
DNS (Domain Name Service)
BOOTP, DHCP.
NNP (Network News Protocol)
Quote of the day protocol
TFTP, RTSP, RIP, OSPF.
Application layer can do some of the tasks through UDP-
Trace Route
Record Route
Time stamp
UDP takes datagram from Network Layer, attach its header and send it to the
42
user. So, it works fast.
Actually UDP is null protocol if you remove checksum field.
What is congestion
– A state occurring in network layer when the message traffic is so
heavy that it slows down network response time.
Effects of Congestion
Similarly, each network interface contains a leaky bucket and the following
steps are involved in leaky bucket algorithm:
When host wants to send packet, packet is thrown into the bucket.
The bucket leaks at a constant rate, meaning the network interface transmits
packets at a constant rate.
43
In practice the bucket is a finite queue that outputs at a finite rate.
44
Ways in which token bucket is superior to leaky bucket
The leaky bucket algorithm controls the rate at which the packets are introduced in the
network, but it is very conservative in nature.
Some flexibility is introduced in the token bucket algorithm. In the token bucket,
algorithm tokens are generated at each tick (up to a certain limit).
For an incoming packet to be transmitted, it must capture a token and the transmission
takes place at the same rate.
Hence some of the busty packets are transmitted at the same rate if tokens are available
and thus introduces some amount of flexibility in the system.
Formula:
M – Maximum output rate ρ – Token arrival rate , C – Capacity of the token bucket in byte
With TB, a packet can only be transmitted if there are enough tokens
45
QUESTIONS
PARTA
PART B
APPLICATION LAYER
Gateways- Domain Name System - FTP - WWW and HTTP - SNMP - SMTP -
POP3 - IMAP -MIME-
Generally host names, mailboxes and other resources are represented by using ASCII sting such
as [email protected] the network itself only understands binary address i.e., the address written
in the binary form. So we need some mechanism to convert the ASCII strings to network
addresses in binary. It is easy to maintain the host names and their IP addresses in file for a
network of few hundred hosts. For a network of thousand hosts it is very difficult.
The Domain Name System, DNS is a distributes data that is used by TCP/IP application to map
between host names and IP addresses, and to provide electronic mail routing information. We use
the term distributed because no single site on the Internet knows all the information. Each site
maintains its own data base information and runs a server program that other systems (clients)
across the Internet can query. It is a good example of a TCP/IP client-server application.
The DNS provides the protocol that allows client and server to communicate with each other.
4
6
DNS is defined in RFC’s 1034 and 1035.
The DNS identifies each host on the internet with a unique name that identifies it as
unambiguously as its IP address as follows. To map a name onto an IP address, an application
program calls a library procedure called the resolver, passing it the name as a parameter. The
‘resolver’ sends a UDP packet to a local DNS server, which then looks up the name and returns
the IP address to the resolver, which then returns it to the caller. To create names that are unique
and at the same time decentralized and easy to change, the TCP/IP designers have chosen a
hierarchical system made up of a number of labels separated by dots.
Internet is divided it several hundred top level domains, where each domain covers many hosts.
Each domain is partitioned into sub domains, these are further partitioned and so on. Thus DNS is
implemented using a tree in which each node represents one possible label of up to 63 characters.
The root of the tree is a special node with new label as shown in fig. Any comparison of label
considers uppercase and lower-case characters the same i.e., Domain names are case insensitive.
The leaves of the tree represent a company/organization and contain thousands of hosts.
Each domain is named by the path from it to the unnamed root. The components in the name are
separated by periods (dots), that is domain name of any node in the tree is the list of labels
starting at the node, working up to the root using the period (dot ) separate the labels.
The domain names that ends with a period is called an absolute domain name or fully qualified
domain name(FQDN).An example is vax.ugc,central.edu.
If domain does not end with a period, it is assumed that the name needs to be completed. How the
name is completed on the DNS software being used. If the incomplete names consist of two or
more labels, it might be considered to be complete. Otherwise, local addition might be added to
the right of the name. The name vax might be completed by adding the local
suffix.ugc.central.edu.
The right most label in the name corresponds to the level of the tree closest to the root (lowest),
and left-most to the level farthest from the root(highest).The tree is divided into three domains:
generic, country and reverse as shown in fig 5.2.
4
7
Figure 5.1. Domain Name System
Generic Domain: The generic domain is also called the organization domain, divides registered
4
8
hosts according to their generic behaviour. Generic domain names, read left to the right , start
with the most specific information about the host(e.g. the name of the workstation) and become
more and more general with each label until they reach the rightmost label, which describes the
broadcast affiliation of the normal host i.e., the nature of the organization.
The first level of the generic domain convention allows seven possible three character labels
describing organization type.
Each domain name corresponds to a particular IP address. To find the address, the resolution
application begins searching with the first level. As a much is found, a pointer leads to the next
level and finally to the associated IP address.
Country Domain: The country domain convention follows the same format as generic domain,
but uses two character country abbreviation in place of three character organizational
abbreviations at the first level shown in table. Second level labels can be organizational or they
can be more specific national designations.
GR Greece
Reverse Domain: If we have the IP address and need the domain name, you can reverse domain
the functions of DNS.
The domain can be inserted onto the tree in two ways. For example ugc.control.edu could equally
be listed under the country domain as cs.yale.ct.us.
4
9
To create a new domain, permission is required of the domain in which it will be included. For
example, rgm group was started under aicte and is known as rgm.aicte.control.edu. It needs
permission from which use manages aicte.control.edu. Naming follows organizational boundaries,
not physical networks.
RESOURCE RECORDS
Every domain in the DNS tree maintains a set of Resource Records, which are connected to it. For
a leaf node i.e., single host, the most common resource record is its IP address. When a resolver
gives a name to DNS, it gets back called as resource records associated with thatname.
The original function of a DNS is to map domain names on to the resource records.
A resource record is a five tuple, in ASCII text they are represented as Domain-name Time-to live
type class value.
The domain-name tells the domain to which this record belongs. This is the primary search key
used to satisfy queries.
The time-to live field gives information regarding the stability of the record. A large value such as
86-400(number of seconds in one day) indicates that the information is highly stable. The small
value such as 60(1 minute) indicates that the information is highly volatile.
The type of field tells what kind of record it is, some of the type records are listed in table 5.3.
The fourth field in the general structure of resource record is the class. It may be Internet
information, used IN and for non-internet information, other codes are used.
The value field can be number, domain name or an ASCII string.
NAME SERVERS
The Inter network Information center (Inter NIC) manages the top level domain names. The Inter
NIC delegates responsibility for assigning names to different organizations. Each organization is
responsible for a specific portion of the DNS tree structure. Internet professionals refer to these
areas of responsibilities as zones.
Alternatively, the Inter NIC delegates responsibility for assigning names with in a specific zone to
specific organizations. Each zone contains some part of the tree and also contains name servers
holding the authoritative information about the zone. Each zone contains one primary name server
and one or more secondary name servers. Primary name server and one or more secondary name
servers. Primary name server gets its information from a file on its disk, the secondary name
server and get their information from the primary name server. One or more servers are located
outside the zone, for each zone, for reliability. The number of name servers needed in a zone
depends on the zone boundaries.
Let us consider an example shown in fig connected with another domain. here a resolver on
“ece.rgm.jntu.in” wants to know the IP address of the host “rgm.aicte.control.edu” can be
explained in 8 steps.
Step 1: It sends a query to the local name server rgm.jntu.in.This query asks a record of type A
and the class IN.
Step 2: If the local name server had no such domain and knows nothing about it, it may ask a few
other near by name servers if none of them know, it sends a UDP packet to the server for “edu”
given in its database (see fig) edu.server.net.
Step 3: It forwards the request to the name server control.edu.
Step 4: And in turn this forwards the request aicte.control.edu, which has authoritative resource
records.
This is the request from client to a server, the resource record requested will work its way back in
step 5 to step 8.Once these records get back to rgm.jntu.in name server, they will be entered into a
cache/memory. However this information is not authoritative, since changes made at
aicte.control.edu will not be propagated to all the memories in the world. For this reason cache
should not live too long, so time-to-live field is used in each resource record. It tells the name
server how long to cache records.
7
FTP
Objectives of FTP
Why FTP?
Although transferring files from one system to another is very simple and straightforward, but
sometimes it can cause problems. For example, two systems may have different file conventions.
Two systems may have different ways to represent text and data. Two systems may have different
directory structures. FTP protocol overcomes these problems by establishing two connections
between hosts. One connection is used for data transfer, and another connection is used for the
control connection.
Mechanism of FTP
The figure 5.4.shows the basic model of the FTP. The FTP client has three components: the user
interface, control process, and data transfer process. The server has two components: the server
control process and the server data transfer process.
8
There are two types of connections in FTP:
Control Connection: The control connection uses very simple rules for communication.
Through control connection, we can transfer a line of command or line of response at a
time. The control connection is made between the control processes. The control
connection remains connected during the entire interactive FTP session.
Data Connection: The Data Connection uses very complex rules as data types may vary.
The data connection is made between data transfer processes. The data connection opens
when a command comes for transferring the files and closes when the file is transferred.
FTP Clients
FTP client is a program that implements a file transfer protocol which allows you to
transfer files between two hosts on the internet.
It allows a user to connect to a remote host and upload or download the files.
It has a set of commands that we can use to connect to a host, transfer the files between
you and your host and close the connection.
The FTP program is also available as a built-in component in a Web browser. This GUI
based FTP client makes the file transfer very easy and also does not require to remember
the FTP commands.
Advantages of FTP:
Speed: One of the biggest advantages of FTP is speed. The FTP is one of the fastest way
to transfer the files from one computer to another computer.
Efficient: It is more efficient as we do not need to complete all the operations to get the
entire file.
Security: To access the FTP server, we need to login with the username and password.
Therefore, we can say that FTP is more secure.
Back & forth movement: FTP allows us to transfer the files back and forth. Suppose you
are a manager of the company, you send some information to all the employees, and they
all send information back on the same server.
9
Disadvantages of FTP:
The standard requirement of the industry is that all the FTP transmissions should be
encrypted. However, not all the FTP providers are equal and not all the providers offer
encryption. So, we will have to look out for the FTP providers that provides encryption.
FTP serves two operations, i.e., to send and receive large files on a network. However, the
size limit of the file is 2GB that can be sent. It also doesn't allow you to run simultaneous
transfers to multiple receivers.
Passwords and file contents are sent in clear text that allows unwanted eavesdropping. So,
it is quite possible that attackers can carry out the brute force attack by trying to guess the
FTP password.
It is not compatible with every system.
HTTP
Features of HTTP:
10
HTTP Transactions
The above figure shows the HTTP transaction between client and server. The client initiates a
transaction by sending a request message to the server. The server replies to the request message
by sending a response message.
Messages
HTTP messages are of two types: request and response. Both the message types follow the same
message format.
11
Request Message: The request message is sent by the client that consists of a request line,
headers, and sometimes a body.
Response Message: The response message is sent by the server to the client that consists of a
status line, headers, and sometimes a body.
A client that wants to access the document in an internet needs an address and to facilitate
the access of documents, the HTTP uses the concept of Uniform Resource Locator (URL).
The Uniform Resource Locator (URL) is a standard way of specifying any kind of
information on the internet.
The URL defines four parts: method, host computer, port, and path.
12
Figure 5.8 Uniform Resource Locator
Method: The method is the protocol used to retrieve the document from a server. For
example, HTTP.
Host: The host is the computer where the information is stored, and the computer is given
an alias name. Web pages are mainly stored in the computers and the computers are given
an alias name that begins with the characters "www". This field is not mandatory.
Port: The URL can also contain the port number of the server, but it's an optional field. If
the port number is included, then it must come between the host and path and it should be
separated from the host by a colon.
Path: Path is the pathname of the file where the information is stored. The path itself
contain slashes that separate the directories from the subdirectories and files.
SNMP
SNMP stands for Simple Network Management Protocol.
SNMP is a framework used for managing devices on the internet.
It provides a set of operations for monitoring and managing the internet.
SNMP Concept
13
SNMP has two components Manager and agent.
The manager is a host that controls and monitors a set of agents such as routers.
It is an application layer protocol in which a few manager stations can handle a set of
agents.
The protocol designed at the application level can monitor the devices made by different
manufacturers and installed on different physical networks.
It is used in a heterogeneous network made of different LANs and WANs connected by
routers or gateways.
A manager is a host that runs the SNMP client program while the agent is a router that
runs the SNMP server program.
Management of the internet is achieved through simple interaction between a manager and
agent.
The agent is used to keep the information in a database while the manager is used to
access the values in the database. For example, a router can store the appropriate variables
such as a number of packets received and forwarded while the manager can compare these
variables to determine whether the router is congested or not.
Agents can also contribute to the management process. A server program on the agent
checks the environment, if something goes wrong, the agent sends a warning message to
the manager.
A manager checks the agent by requesting the information that reflects the behavior of the
agent.
A manager also forces the agent to perform a certain function by resetting values in the
agent database.
An agent also contributes to the management process by warning the manager regarding
an unusual condition.
Management Components
Management is not achieved only through the SNMP protocol but also the use of other
protocols that can cooperate with the SNMP protocol. Management is achieved through
the use of the other two protocols: SMI (Structure of management information) and
MIB(management information base).
Management is a combination of SMI, MIB, and SNMP. All these three protocols such as
abstract syntax notation 1 (ASN.1) and basic encoding rules (BER).
14
Figure 5.10 Management Components
SMI
MIB
The MIB (Management information base) is a second component for the network management.
o Each agent has its own MIB, which is a collection of all the objects that the manager can
manage. MIB is categorized into eight groups: system, interface, address translation, ip, icmp, tcp,
udp, and egp. These groups are under the mib object.
15
SNMP
GetRequest: The GetRequest message is sent from a manager (client) to the agent (server) to
retrieve the value of a variable.
GetNextRequest: The GetNextRequest message is sent from the manager to agent to retrieve the
value of a variable. This type of message is used to retrieve the values of the entries in a table. If
the manager does not know the indexes of the entries, then it will not be able to retrieve the
values. In such situations, GetNextRequest message is used to define an object.
GetResponse: The GetResponse message is sent from an agent to the manager in response to the
GetRequest and GetNextRequest message. This message contains the value of a variable
requested by the manager.
SetRequest: The SetRequest message is sent from a manager to the agent to set a value in a
variable.
Trap: The Trap message is sent from an agent to the manager to report an event. For example, if
the agent is rebooted, then it informs the manager as well as sends the time of rebooting.
16
POP Protocol
The POP protocol stands for Post Office Protocol. As we know that SMTP is used as a message
transfer agent. When the message is sent, then SMPT is used to deliver the message from the
client to the server and then to the recipient server. But the message is sent from the recipient
server to the actual server with the help of the Message Access Agent. The Message Access
Agent contains two types of protocols, i.e., POP3 and IMAP.
Suppose sender wants to send the mail to receiver. First mail is transmitted to the sender's mail
server. Then, the mail is transmitted from the sender's mail server to the receiver's mail server
over the internet. On receiving the mail at the receiver's mail server, the mail is then sent to the
user. The whole process is done with the help of Email protocols. The transmission of mail from
the sender to the sender's mail server and then to the receiver's mail server is done with the help of
the SMTP protocol. At the receiver's mail server, the POP or IMAP protocol takes the data and
transmits to the actual user.
Since SMTP is a push protocol so it pushes the message from the client to the server. As we can
observe in the above figure that SMTP pushes the message from the client to the recipient's mail
server. The third stage of email communication requires a pull protocol, and POP is a pull
protocol. When the mail is transmitted from the recipient mail server to the client which means
that the client is pulling the mail from the server.
What is POP3?
The POP3 is a simple protocol and having very limited functionalities. In the case of the POP3
protocol, the POP3 client is installed on the recipient system while the POP3 server is installed on
the recipient's mail server.
17
History of POP3 protocol
The first version of post office protocol was first introduced in 1984 as RFC 918 by
the internet engineering task force. The developers developed a simple and effective email
protocol known as the POP3 protocol, which is used for retrieving the emails from the server.
This provides the facility for accessing the mails offline rather than accessing the mailbox offline.
In 1985, the post office protocol version 2 was introduced in RFC 937, but it was replaced with
the post office protocol version 3 in 1988 with the publication of RFC 1081. Then, POP3 was
revised for the next 10 years before it was published. Once it was refined completely, it got
published on 1996.
Although the POP3 protocol has undergone various enhancements, the developers maintained a
basic principle that it follows a three-stage process at the time of mail retrieval between the client
and the server. They tried to make this protocol very simple, and this simplicity makes this
protocol very popular today.
To establish the connection between the POP3 server and the POP3 client, the POP3 server asks
for the user name to the POP3 client. If the username is found in the POP3 server, then it sends
the ok message. It then asks for the password from the POP3 client; then the POP3 client sends
the password to the POP3 server. If the password is matched, then the POP3 server sends the OK
message, and the connection gets established. After the establishment of a connection, the client
can see the list of mails on the POP3 mail server. In the list of mails, the user will get the email
numbers and sizes from the server. Out of this list, the user can start the retrieval of mail.
18
Once the client retrieves all the emails from the server, all the emails from the server are deleted.
Therefore, we can say that the emails are restricted to a particular machine, so it would not be
possible to access the same mails on another machine. This situation can be overcome by
configuring the email settings to leave a copy of mail on the mail server.
IMAP Protocol
IMAP stands for Internet Message Access Protocol. It is an application layer protocol which is
used to receive the emails from the mail server. It is the most commonly used protocols like POP3
for retrieving the emails.
It also follows the client/server model. On one side, we have an IMAP client, which is a process
running on a computer. On the other side, we have an IMAP server, which is also a process
running on another computer. Both computers are connected through a network.
19
Figure 5.15 IMAP Protocol
The IMAP protocol resides on the TCP/IP transport layer which means that it implicitly uses the
reliability of the protocol. Once the TCP connection is established between the IMAP client and
IMAP server, the IMAP server listens to the port 143 by default, but this port number can also be
changed.
By default, there are two ports used by IMAP:
o Port 143: It is a non-encrypted IMAP port.
o Port 993: This port is used when IMAP client wants to connect through IMAP securely.
POP3 is becoming the most popular protocol for accessing the TCP/IP mailboxes. It implements
the offline mail access model, which means that the mails are retrieved from the mail server on
the local machine, and then deleted from the mail server. Nowadays, millions of users use
the POP3 protocol to access the incoming mails. Due to the offline mail access model, it cannot
be used as much. The online model we would prefer in the ideal world. In the online model, we
need to be connected to the internet always. The biggest problem with the offline access using
POP3 is that the mails are permanently removed from the server, so multiple computers cannot
access the mails. The solution to this problem is to store the mails at the remote server rather than
on the local server.
The POP3 also faces another issue, i.e., data security and safety. The solution to this problem is to
use the disconnected access model, which provides the benefits of both online and offline access.
In the disconnected access model, the user can retrieve the mail for local use as in the POP3
protocol, and the user does not need to be connected to the internet continuously. However, the
changes made to the mailboxes are synchronized between the client and the server. The mail
remains on the server so different applications in the future can access it. When developers
recognized these benefits, they made some attempts to implement the disconnected access model.
This is implemented by using the POP3 commands that provide the option to leave the mails on
the server. This works, but only to a limited extent, for example, keeping track of which messages
are new or old become an issue when both are retrieved and left on the server. So, the POP3 lacks
some features which are required for the proper disconnected access model.
In the mid-1980s, the development began at Stanford University on a new protocol that would
provide a more capable way of accessing the user mailboxes. The result was the development of
the interactive mail access protocol, which was later renamed as Internet Message Access
Protocol.
20
IMAP History and Standards
The first version of IMAP was formally documented as an internet standard was IMAP version 2,
and in RFC 1064, and was published in July 1988. It was updated in RFC 1176, August 1990,
retaining the same version. So they created a new document of version 3 known as IMAP3. In
RFC 1203, which was published in February 1991. However, IMAP3 was never accepted by the
market place, so people kept using IMAP2. The extension to the protocol was later created called
IMAPbis, which added support for Multipurpose Internet Mail Extensions (MIME) to IMAP.
This was a very important development due to the usefulness of MIME. Despite this, IMAPbis
was never published as an RFC. This may be due to the problems associated with the IMAP3. In
December 1994, IMAP version 4, i.e., IMAP4 was published in two RFCs, i.e., RFC 1730
describing the main protocol and RFC 1731 describing the authentication mechanism for IMAP 4.
IMAP 4 is the current version of IMAP, which is widely used today. It continues to be refined,
and its latest version is actually known as IMAP4rev1 and is defined in RFC 2060. It is most
recently updated in RFC 3501.
IMAP Features
IMAP was designed for a specific purpose that provides a more flexible way of how the user
accesses the mailbox. It can operate in any of the three modes, i.e., online, offline, and
disconnected mode. Out of these, offline and disconnected modes are of interest to most users of
the protocol.
21
IMAP General Operation
1. The IMAP is a client-server protocol like POP3 and most other TCP/IP application
protocols. The IMAP4 protocol functions only when the IMAP4 must reside on the server where
the user mailboxes are located. In c the POP3 does not necessarily require the same physical
server that provides the SMTP services. Therefore, in the case of the IMAP protocol, the mailbox
must be accessible to both SMTP for incoming mails and IMAP for retrieval and modifications.
2. The IMAP uses the Transmission Control Protocol (TCP) for communication to ensure the
delivery of data and also received in the order.
3. The IMAP4 listens on a well-known port, i.e., port number 143, for an incoming
connection request from the IMAP4 client.
22
Figure 5.16 IMAP Protocol Example
The IMAP protocol synchronizes all the devices with the main server. Let's suppose we have
three devices desktop, mobile, and laptop as shown in the above figure. If all these devices are
accessing the same mailbox, then it will be synchronized with all the devices. Here,
synchronization means that when mail is opened by one device, then it will be marked as opened
in all the other devices, if we delete the mail, then the mail will also be deleted from all the other
devices. So, we have synchronization between all the devices. In IMAP, we can see all the folders
like spam, inbox, sent, etc. We can also create our own folder known as a custom folder that will
be visible in all the other devices.
This is the solution defined in 1341 and updated in 1521 for the following problems.
Messages in languages with accents.
Messages in non Latin alphabets.
Messages in languages with out alphabets.
Messages not containing text at all.
The basic idea of MIME is to continue the use of RFC 822 format, but to add structure to the
message body defined encoding rules for non ASCII formats. The MIME messages can be sent
using the existing mail programs, and protocols.
23
The MIME defines five new message header
MIME-Version: It tells the use agent receiving the message that it is dealing with a MIME
message, and which version of MIME it uses.
Content-Description: It tells what is there in the message, this header helps the recipient whether
it is worth decoding and reading the message.
Content-Transfer Encoding: It tells how the body is wrapped for transmission through a
network that may object to most characters other than letters, numbers and punctuation marks.
Content-Type: It specifies the nature of the message body. Seven types are defined in RFC 1521,
each of which has one or more sub types. The type and sub type are separated by a slash. The sub
type must be given explicitly in the header, no defaults are provided. Table shows the list of types
and sub types.
The message Transfer system, MTS is concerned with relaying messages from originator to the
recipent.The simplest way to do this is to establish a transport connection from source machine to
the destination machine and just transfer the message.
Mail servers are from the core of the e-mail infrastructure.Each recipient has a mail box, located
in one of the mail servers.A typical message starts its journey in the sender’s user agent, travels to
the sender’s main server, and then travels to the recipient mail server where it is deposited in the
recipient mail box.
A mail server needs to be running all the time, waiting for e-mail messages and routing them
approximately.If a mail server crashes or down for an extended period(3-4 days), e-mail can be
lost.There may be a limitation on the size of mail box.Generally once this limit is reached, new
incoming messages are refused until you free up space by deleting some messages.
The simple mail transfer protocol (SMTP) is the principal application layer protocol for internet
e- mail. It is simple ASCII protocol. It uses the reliable data transfer service of TCP to transfer
mail from the sender’s mail server to the recipient’s mail server. In most application protocols
SMTP has two sides: a client side, which executes on the sender’s mail server and a server side-
which executes on the recipient mail server. When a mail server sends a mail (to other mail
server), it acts as a client SMTP.When a mail server receives a mail (from other mail server), it
acts as an SMTP server.
The SMTP defined in RF821, is at the heart of Internet e-mail.SMTP is much older than
HTTP.To illustrate the basic operation of SMTP, let’s walkthrough a common scenario. Suppose
Ramu wants to send Raju a simple ASCII message.
Ramu invokes his user agent for e-mail, provides Raju’s e-mail
address(example Raju@some school.edu) composes a message, and instructs the user
agent to send the message.
Ramu’s user agent sends the message to his mail server, where it is placed
in a message queue.
The client side of SMTP, running on Ramu’s mail server, sees the
message in the message queue.It opens a TCP connection to a SMTP running Raju’s mail
server.
After some initial SMTP hand shaking, the SMTP client sends Ramu’s
message into the TCP connection.
At Raju’s mail server host, the server side of SMTP recives the
message.Raju’s mail server then places the message in Raju’s mail box.
Raju invokes his user agent to read the message at his convenience. The
scenario is summarized in fig.5.29
26
SMTP
Let us now take closer look at how SMTP transfers a message from a sending mail server to a
receiving mail server.
We will see that the SMTP protocol has many similarities with protocols that are used for face-to-
face human interaction.
The client SMTP has TCP to establish a connection on port 25 to server
SMTP.If server is down, the clients tries again later. Once the connection is established,
the server and client perform some application layer handshaking. During this SMTP
handshaking phase, the SMTP client indicates the e-mail address of the sender and the e-
mail address of the recipient. Once the SMTP client and server have introduced
themselves to each other, the client sends the message, SMTP can count on the reliable
data transfer service of TCP to get the message to the server without errors. The client
then repeats this process over the same TCP connection if it has other message to send to
the server; otherwise it instructs TCP to close the connection.
Even though the SMTP protocol is well defined, a few problems can still arise. These are.
Related to the Message Length : Some older implementations cannot
handle messages exceeding 64kB.
Related to Time Outs : If the client and server have different time-outs,
one of them may give up while the other is still busy, unexpectedly terminating the
connection. Infinite mail storms can be triggered .
To get around some of these problems, extended SMTP (ESMTP) has been defined in RFC1425.
27
E-mail Gateways: E-mail using SMTP works best when both the sender and receiver on the
internet and can support TCP connections between sender and receiver.However many machines
that are not on the internet)because of security problem) still want to send and recive e- mail from
internet sites.
Another problem occurs when the sender speaks only RFC822 and the receiver speaks only
X.400 or some proprietary vendor specific mail protocol.
Here Host1 speaks only TCP/IP and RFC822, where as host 2 speaks only OSITP 4 ans X.400.
They can exchange e-mail using an e-mail gateway.
Procedure:
Host 1 establishes a TCP connection to gateway and then use SMTP to transfer
message there.
The gateway then puts the message in a buffer of messages destined to host 2.
A TP4 connection is established between host 2 and the gateway.
The message is transferred using OSI equivalent of SMTA.
There are currently two popular mail access protocols:POP3(Post office Protocol version3 ) and 1
MAP (internet mail access protocol)
5. L. L. Peterson and B. S. Davie, Computer Networks: A Systems Approach (3rd ed.), Morgan
Kaufmann, 2003.
28
QUESTIONS
PART A
1. Define the two types of user agents in the electronic mail system
2. What is DNS?
3. What is SMTP?
4. State the Purpose of SNMP
5. What is the Domain name system responsible for?
6. What are the four main properties of HTTP?
7. What is SMTP used for?
8. What are the basic functions of email?
9. Define WWW?
10. What is URL?
11. What are the responsibilities of Application Layer
12. Write down the three types of WWW documents.
13. What is Generic Domains
14. What are the two types of connections in FTP?
15. What are the types of messages in HTTP transaction?
16. What are the parts of a browser?
17. How does MIME enhance SMTP?
PART B
1. Explain the functions of SMTP.
2. Write short notes on FTP.
3. Explain about the significance of using HTTP
4. Explain the WWW in detail.
5. Explain about Electronic mail and give brief introduction to POP
6. Explain detail about Domain Name System give details about components and mail servers
29