Computer Networks Course Guide
Computer Networks Course Guide
COURSE OBJECTIVES:
To understand the concept of layering in networks.
To know the functions of protocols of each layer of TCP/IP protocol suite.
To visualize the end-to-end flow of information.
To learn the functions of network layer and the various routing protocols
To familiarize the functions and protocols of the Transport layer
UNIT IV ROUTING 7
Routing and protocols: Unicast routing - Distance Vector Routing - RIP - Link State Routing – OSPF
– Path-vector routing - BGP - Multicast Routing: DVMRP – PIM.
TOTAL:45 PERIODS
TEXT BOOKS
1. James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down Approach Featuring the
Internet, Eighth Edition, Pearson Education, 2021.
2. Behrouz A. Forouzan, Data Communications and Networking with TCP/IP Protocol Suite, Sixth
Edition TMH, 2022
1
CS 3591 COMPUTER NETWORKS
UNIT I - INTRODUCTION AND PHYSICAL LAYER
Data Communication - Networks – Network Types – Protocol Layering –
TCP/IP Protocol suite –OSI Model – Introduction to Sockets -
Application Layer protocols: HTTP – FTP – Email protocols (SMTP -
POP3 - IMAP - MIME) – DNS – SNMP
INTRODUCTION TO NETWORKS
▪ 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 or
receiving data generated by other nodes on the network.
▪ When we communicate, we are sharing information. This sharing can be local or
remote.
CHARACTERISTICS OF A NETWORK
The effectiveness of a network depends on three characteristics.
1. Delivery: The system must deliver data to the correct destination.
2. Accuracy: The system must deliver data accurately.
3. Timeliness: The system must deliver data in a timely manner.
2
KEY ELEMENTS OF PROTOCOL
➢ Syntax: Refers to the structure or format of the data, meaning the order in which
they are presented.
➢ Semantics: Refers to the meaning of each section of bits.
➢ Timing: Refers to two characteristics. (1). When data should be sent and (2). How
fast they can be sent.
TRANSMISSION MODES
o The way in which data is transmitted from one device to another device is known
as transmission mode.
o The transmission mode is also known as the communication mode.
o Each communication channel has a direction associated with it, and transmission
media provide the direction. Therefore, the transmission mode is also known as a
directional mode.
o The transmission mode is defined in the physical layer.
o Simplex Mode
o Half-duplex Mode
o Full-duplex mode (Duplex Mode)
SIMPLEX MODE
o In Simplex mode, the communication is unidirectional, i.e., the data flow in one
direction.
o A device can only send the data but cannot receive it or it can receive the data but
cannot send the data.
o This transmission mode is not very popular as mainly communications require the
two-way exchange of data. The simplex mode is used in the business field as in
sales that do not require any corresponding reply.
o The radio station is a simplex channel as it transmits the signal to the listeners but
never allows them to transmit back.
o Keyboard and Monitor are the examples of the simplex mode as a keyboard can
only accept the data from the user and monitor can only be used to display the
data on the screen.
o The main advantage of the simplex mode is that the full capacity of the
communication channel can be utilized during transmission.
3
Advantage of Simplex mode:
o In simplex mode, the station can utilize the entire bandwidth of the
communication channel, so that more data can be transmitted at a time.
HALF-DUPLEX MODE
o In a Half-duplex channel, direction can be reversed, i.e., the station can transmit
and receive the data as well.
o Messages flow in both the directions, but not at the same time.
o The entire bandwidth of the communication channel is utilized in one direction at
a time.
o In half-duplex mode, it is possible to perform the error detection, and if any error
occurs, then the receiver requests the sender to retransmit the data.
o A Walkie-talkie is an example of the Half-duplex mode.
o In Walkie-talkie, one party speaks, and another party listens. After a pause, the
other speaks and first party listens. Speaking simultaneously will create the
distorted sound which cannot be understood.
FULL-DUPLEX MODE
o In Full duplex mode, the communication is bi-directional, i.e., the data flow in
both the directions.
o Both the stations can send and receive the message simultaneously.
o Full-duplex mode has two simplex channels. One channel has traffic moving in
one direction, and another channel has traffic flowing in the opposite direction.
4
o The Full-duplex mode is the fastest mode of communication between devices.
o The most common example of the full-duplex mode is a Telephone network.
When two people are communicating with each other by a telephone line, both
can talk and listen at the same time.
Send/Receive A device can only Both the devices Both the devices
send the data but can send and can send and
cannot receive it or receive the data, receive the data
it can only receive but one at a time. simultaneously.
the data but cannot
send it.
Line configuration refers to the way two or more communication devices attach to a
link. A link is a communications pathway that transfers data from one device to another.
There are two possible line configurations:
i. Point to Point (PPP): Provides a dedicated Communication link between two
5
devices. It is simple to establish. The most common example for Point-to-Point
connection is a computer connected by telephone line. We can connect the two
devices by means of a pair of wires or using a microwave or satellite link.
• Temporal (Time) Sharing: If users must take turns using the link ,
then its called Temporally shared or Time Shared Line Configuration.
NETWORK TYPES
• A computer network is a group of computers linked to each other that enables the
computer to communicate with another computer and share their resources, data,
and applications.
• A computer network can be categorized by their size.
• A computer network is mainly of three types:
1. Local Area Network (LAN)
2. Wide Area Network (WAN)
3. Metropolitan Area Network (MAN)
6
o It is less costly as it is built with inexpensive hardware such as hubs, network
adapters, and ethernet cables.
o The data is transferred at an extremely faster rate in Local Area Network.
o LAN can be connected using a common cable or a Switch.
o A Wide Area Network is not limited to a single location, but it spans over a large
7
geographical area through a telephone line, fibre optic cable or satellite links.
o The internet is one of the biggest WAN in the world.
o A Wide Area Network is widely used in the field of Business, government, and
education.
o WAN can be either a point-to-point WAN or Switched WAN.
INTERNETWORK
8
o An internetwork is defined as two or more computer network LANs or WAN.
o An Internetwork can be formed by joining two or more individual networks by
means of various devices such as routers, gateways and bridges.
o An interconnection between public, private, commercial, industrial, or
government computer networks can also be defined as internetworking.
Types of Internetwork
Extranet Intranet
An extranet is used for information sharing.
An intranet belongs to an organization
The access to the extranet is restricted to
which is only accessible by the
only those users who have login credentials.
organization's employee or members. The
An extranet is the lowest level of
main aim of the intranet is to share the
internetworking. It can be categorized as
information and resources among the
MAN, WAN or other computer networks.
organization employees. An intranet
An extranet cannot have a single LAN,
provides the facility to work in groups and
atleast it must haveone connection to the
for teleconferences.
external network.
PROTOCOL LAYERING
➢ In networking, a protocol defines the rules that both the sender and receiver and
all intermediate devices need to follow to be able to communicate effectively.
➢ A protocol provides a communication service that the process uses to
exchange messages.
➢ When communication is simple, we may need only one simple protocol.
➢ When the communication is complex, we may need to divide the task between
different layers, in which case we need a protocol at each layer, or protocol
9
layering.
➢ Protocol layering is that it allows us to separate the services from the
implementation.
➢ A layer needs to be able to receive a set of services from the lower layer and to give
the services to the upper layer.
➢ Any modification in one layer will not affect the other layers.
Protocol Graph
• The set of protocols that make up a network system is called a protocol graph.
• The nodes of the graph correspond to protocols, and the edges represent a
dependence relation.
• For example, the Figure below illustrates a protocol graph consists of protocols
RRP (Request/Reply Protocol) and MSP (Message Stream Protocol) implement
two different types of process-to-process channels, and both depend on the HHP
(Host-to- Host Protocol) which provides a host-to-host connectivity service
10
OSI MODEL
o OSI stands for Open System Interconnection.
o It is a reference model that describes how information from a software application
in one computer moves through a physical medium to the software application in
another computer.
o OSI consists of seven layers, and each layer performs a particular network function.
o OSI model was developed by the International Organization for Standardization
(ISO) in 1984, and it is now considered as an architectural model for the inter-
computer communications.
o OSI model divides the whole task into seven smaller and manageable tasks. Each
layer is assigned a particular task.
o Each layer is self-contained, so that task assigned to each layer can be performed
independently.
11
FUNCTIONS OF THE OSI LAYERS
1. PHYSICAL LAYER
The physical layer coordinates the functions required to transmit a bit stream over a
physical medium.
The physical layer is concerned with the following functions:
➢ Physical characteristics of interfaces and media - The physical layer defines
the characteristics of the interface between the devices and the transmission
medium.
➢ Representation of bits - To transmit the stream of bits, it must be encoded to
signals. The physical layer defines the type of encoding.
➢ Signals: It determines the type of the signal used for transmitting the information.
➢ Data Rate or Transmission rate - The number of bits sent each second –is also
defined by the physical layer.
➢ Synchronization of bits - The sender and receiver must be synchronized at the
bit level. Their clocks must be synchronized.
➢ Line Configuration - In a point-to-point configuration, two devices are connected
together through a dedicated link. In a multipoint configuration, a link is shared
between several devices.
➢ Physical Topology - The physical topology defines how devices are connected to
make a network. Devices can be connected using a mesh, bus, star or ring topology.
12
2. DATA LINK LAYER
It is responsible for transmitting frames from one node to the next node.
The other responsibilities of this layer are
➢ Framing - Divides the stream of bits received into data units called frames.
➢ Physical addressing – If frames are to be distributed to different systems on the
network , data link layer adds a header to the frame to define the sender and
receiver.
➢ Flow control- If the rate at which the data are absorbed by the receiver is less
than the rate produced in the sender ,the Data link layer imposes a flow ctrl
mechanism.
➢ Error control- Used for detecting and retransmitting damaged or lost frames and
to prevent duplication of frames. This is achieved through a trailer added at the end
of the frame.
➢ Medium Access control -Used to determine which device has control over the link
at any given time.
3. NETWORK LAYER
This layer is responsible for the delivery of packets from source to destination.
It determines the best path to move data from source to the destination based on the
network conditions, the priority of service, and other factors.
The other responsibilities of this layer are
➢ Logical addressing - If a packet passes the network boundary, we need another
addressing system for source and destination called logical address. This
addressing is used to identify the device on the internet.
➢ Routing – Routing is the major component of the network layer, and it determines
the best optimal path out of the multiple paths from source to the destination.
4. TRANSPORT LAYER
5. SESSION LAYER
6. PRESENTATION LAYER
It is concerned with the syntax and semantics of information exchanged between two
systems.
The other responsibilities of this layer are
➢ Translation – Different computers use different encoding system, this layer is
responsible for interoperability between these different encoding methods. It will
change the message into some common format.
➢ Encryption and decryption-It means that sender transforms the original
information to another form and sends the resulting message over the n/w. and vice
versa.
➢ Compression and expansion-Compression reduces the number of bits contained
in the information particularly in text, audio and video.
7. APPLICATION LAYER
This layer enables the user to access the network. It handles issues such as network
transparency, resource allocation, etc. This allows the user to log on to remote user.
The other responsibilities of this layer are
➢ FTAM (File Transfer, Access, Management) - Allows user to access files in a
remote host.
➢ Mail services - Provides email forwarding and storage.
➢ Directory services - Provides database sources to access information about
various sources and objects.
TRANSPORT LAYER
▪ The transport layer is responsible for the reliability, flow control, and correction
of data which is being sent over the network.
▪ The two protocols used in the transport layer are User Datagram protocol and
Transmission control protocol.
o UDP – UDP provides connectionless service and end-to-end delivery of
transmission. It is an unreliable protocol as it discovers the errors but not
specify the error.
o TCP – TCP provides a full transport layer services to applications. TCP is
a reliable protocol as it detects the error and retransmits the damaged frames.
INTERNET LAYER
▪ The internet layer is the second layer of the TCP/IP model.
▪ An internet layer is also known as the network layer.
15
▪ The main responsibility of the internet layer is to send the packets from any
network, and they arrive at the destination irrespective of the route they take.
▪ Internet layer handle the transfer of information across multiple networks through
router and gateway .
▪ IP protocol is used in this layer, and it is the most significant part of the entire
TCP/IP suite.
16
2 Service interface and protocols Service interface and protocols were not
are clearly distinguished before clearly distinguished before
7 All packets are reliably delivered TCP reliably delivers packets, IP does
not reliably deliver packets
SOCKETS
A socket is one endpoint of a two-way communication link between two programs running on the
network. The socket mechanism provides a means of inter-process communication (IPC) by
establishing named contact points between which the communication take place.
Like ‘Pipe’ is used to create pipes and sockets is created using ‘socket’ system call. The socket
provides bidirectional FIFO Communication facility over the network. A socket connecting to the
network is created at each end of the communication. Each socket has a specific address. This
address is composed of an IP address and a port number.
Socket are generally employed in client server applications. The server creates a socket, attaches it to
a network port address then waits for the client to contact it. The client creates a socket and then
attempts to connect to the server socket. When the connection is established, transfer of data takes
place.
Types of Sockets: There are two types of Sockets: the datagram socket and the stream socket.
1. Datagram Socket: This is a type of network which has connection less point for sending
and receiving packets. It is similar to mailbox. The letters (data) posted into the box are
collected and delivered (transmitted) to a letterbox (receiving socket).
2. Stream Socket: In Computer operating system, a stream socket is type of interprocess
communications socket or network socket which provides a connection-oriented,
sequenced, and unique flow of data without record boundaries with well-defined
mechanisms for creating and destroying connections and for detecting errors. It is similar
to phone. A connection is established between the phones (two ends) and a conversation
(transfer of data) takes place.
17
HTTP (HYPERTEXT TRANSFER PROTOCOL)
• The HyperText Transfer Protocol (HTTP) is used to define how the client-
server programs can be written to retrieve web pages from the Web.
• It is a protocol used to access the data on the World Wide Web (WWW).
• The HTTP protocol can be used to transfer the data in the form of plain text,
hypertext, audio, video, and so on.
• HTTP is a stateless request/response protocol that governs client/server
communication.
• An HTTP client sends a request; an HTTP server returns a response.
• The server uses the port number 80; the client uses a temporary port number.
• HTTP uses the services of TCP , a connection-oriented and reliable protocol.
HTTP is a text-oriented protocol. It contains embedded URL known as links.
• When hypertext is clicked, browser opens a new connection, retrieves file from
the server and displays the file.
• Each HTTP message has the general form
START_LINE <CRLF>
MESSAGE_HEADER <CRLF>
<CRLF> MESSAGE_BODY <CRLF>
where <CRLF> stands for carriage-return-line-feed.
Features of HTTP
o Connectionless protocol:
HTTP is a connectionless protocol. HTTP client initiates a request and
waits for a response from the server. When the server receives therequest,
the server processes the request and sends back the response to the HTTP
client after which the client disconnects the connection. The connection
between client and server exist only during the current request and
response time only.
o Media independent:
HTTP protocol is a media independent as data can be sent as long as
both the client and server know how to handle the data content. It is
required for both the client and server to specify the content type in
MIME-type header.
o Stateless:
HTTP is a stateless protocol as both the client and server know each other
only during the current request. Due to this nature of the protocol, both
the client and server do not retain the information between various
requests of the web pages.
18
• 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.
Request Line
• There are three fields in this request line - Method, URL and Version.
• The Method field defines the request types.
• The URL field defines the address and name of the corresponding web page.
• The Version field gives the version of the protocol; the most current version of
HTTP is 1.1.
• Some of the Method types are
Request Header
• Each request header line sends additional information from the client to the
server.
• Each header line has a header name, a colon, a space, and a header value.
• The value field defines the values associated with each header name.
• Headers defined for request message include
19
Body
• The body can be present in a request message. It is optional.
• Usually, it contains the comment to be sent or the file to be published on the
website when the method is PUT or POST.
Conditional Request
• A client can add a condition in its request.
• In this case, the server will send the requested web page if the condition is met
or inform the client otherwise.
• One of the most common conditions imposed by the client is the time and date
the web page is modified.
• The client can send the header line If-Modified-Since with the request to tell the
server that it needs the page only if it is modified after a certain point in time.
Status Line
• The Status line contains three fields - HTTP version , Status code, Status
phrase
• The first field defines the version of HTTP protocol, currently 1.1.
• The status code field defines the status of the request. It classifies the HTTP
result. It consists of three digits.
1xx–Informational, 2xx– Success, 3xx–Redirection,
4xx–Client error, 5xx–Server error
• The Status phrase field gives brief description about status code in text form.
20
• Some of the Status codes are
Response Header
• Each header provides additional information to the client.
• Each header line has a header name, a colon, a space, and a header value.
• Some of the response headers are:
Body
• The body contains the document to be sent from the server to the client.
• The body is present unless the response is an error message.
HTTP CONNECTIONS
• HTTP Clients and Servers exchange multiple messages over the same TCP
connection.
• If some of the objects are located on the same server, we have two choices: to
retrieve each object using a new TCP connection or to make a TCP connection
and retrieve them all.
• The first method is referred to as a non-persistent connection, the second as a
persistent connection.
• HTTP 1.0 uses non-persistent connections and HTTP 1.1 uses persistent
connections .
NON-PERSISTENT CONNECTIONS
21
the connection.
• The client reads the data until it
encounters an end-of-file marker.
• It then closes the connection.
PERSISTENT CONNECTIONS
FTP OBJECTIVES
➢ It provides the sharing of files.
➢ It is used to encourage the use of remote computers.
➢ It transfers the data more reliably and efficiently.
22
FTP MECHANISM
FTP CONNECTIONS
➢ There are two types of connections in FTP -
Control Connection and Data Connection.
➢ The two connections in FTP have different lifetimes.
➢ The control connection remains connected during the entire interactive FTP
session.
➢ The data connection is opened and then closed for each file transfer activity.
When a user starts an FTP session, the control connection opens.
➢ While the control connection is open, the data connection can be opened and
closed multiple times if several files are transferred.
➢ FTP uses two well-known TCP ports:
o Port 21 is used for the control connection
o Port 20 is used for the data connection.
➢ Control Connection:
o The control connection uses very simple rules for communication.
o Through control connection, we can transfer a line of command or line
of response at a time.
o The control connection is made between the control processes.
o The control connection remains connected during the entire interactive
FTP session.
23
➢ Data Connection:
o The Data Connection uses very complex rules as data types may vary.
o The data connection is made between data transfer processes.
o The data connection opens when a command comes for transferring the
files and closes when the file is transferred.
FTP COMMUNICATION
➢ FTP Communication is achieved through commands and responses.
➢ FTP Commands are sent from the client to the server
➢ FTP responses are sent from the server to the client.
➢ FTP Commands are in the form of ASCII uppercase, which may or may not be
followed by an argument.
➢ Some of the most common commands are
FTP SECURITY
➢ FTP requires a password, the password is sent in plaintext which is
unencrypted. This means it can be intercepted and used by an attacker.
➢ The data transfer connection also transfers data in plaintext, which is insecure.
➢ To be secure, one can add a Secure Socket Layer between the FTP application
layer and the TCP layer.
➢ In this case FTP is called SSL-FTP.
25
➢ When the sender and the receiver of an e-mail are on the same system, we need
only two User Agents and no Message Transfer Agent
➢ When the sender and the receiver of an e-mail are on different system, we need
two UA, two pairs of MTA (client and server), and two MAA (client and server).
WORKING OF EMAIL
➢ When Alice needs to send a message to Bob, she runs a UA program to prepare
the message and send it to her mail server.
➢ The mail server at her site uses a queue (spool) to store messages waiting to be
sent. The message, however, needs to be sent through the Internet from Alice’s
site to Bob’s site using an MTA.
➢ Here two message transfer agents are needed: one client and one server.
➢ The server needs to run all the time because it does not know when a client will
ask for a connection.
➢ The client can be triggered by the system when there is a message in the queue
to be sent.
➢ The user agent at the Bob site allows Bob to read the received message.
Bob later uses an MAA client to retrieve the message from an MAA server
running on the second server.
Command driven
o Command driven user agents belong to the early days of electronic mail.
o A command-driven user agent normally accepts a one-character command
fromthe keyboard to perform its task.
o Some examples of command driven user agents are mail, pine, and elm.
GUI-based
o Modern user agents are GUI-based.
o They allow the user to interact with the software by using both the keyboard
and the mouse.
o They have graphical components such as icons, menu bars, and windows that
make the services easy to access.
o Some examples of GUI-based user agents are Eudora and Outlook.
27
MESSAGE FORMAT OF EMAIL
➢ Email message consists of two parts namely header and body.
➢ Each header line contains type and value separated by a colon (:).
➢ Some header contents are:
o From: identifier sender of the message.
o To: mail address of the recipient(s).
o Subject: says about purpose of the message.
o Date: timestamp of when the message was transmitted.
➢ Header is separated from the body by a blank line.
➢ Body contains the actual message.
➢ Email was extended in 1993 to carry many different types of data: audio,
video, images, Word documents, and so on.
➢ This extended version is known as MIME(Multipurpose Mail Extension).
➢ SMTP is the standard protocol for transferring mail between hosts in the
TCP/IP protocol suite.
➢ SMTP is not concerned with the format or content of messages themselves.
➢ SMTP uses information written on the envelope of the mail (message header),
but does not look at the contents (message body) of the envelope.
28
➢ SMTP clients and servers have two main components
o User Agents(UA) – Prepares the message, encloses it in an envelope.
o Mail Transfer Agent (MTA) – Transfers the mail across the internet
➢ SMTP also allows the use of Relays allowing other MTAs to relay the mail.
29
➢ To begin, mail is created by a user-agent program in response to user input.
➢ Each created message consists of a header that includes the recipient's email
address and other information, and a message body containing the message to be
sent.
➢ These messages are then queued in some fashion and provided as input to an
SMTP Sender program.
SMTP Commands
Commands are sent from the client to the server. It consists of a keyword
followed by zero or more arguments. SMTP defines 14 commands.
SMTP Responses
Responses are sent from the server to the client.
30
A response is a three digit code that may be followed by additional textualinformation.
SMTP OPERATIONS
Basic SMTP operation occurs in three phases:
1. Connection Setup
2. Mail Transfer
3. Connection Termination
Connection Setup
➢ An SMTP sender will attempt to set up a TCP connection with a target host
when it has one or more mail messages to deliver to that host.
➢ The sequence is quite simple:
1. The sender opens a TCP connection with the receiver.
2. Once the connection is established, the receiver identifies itself with
"Service Ready”.
3. The sender identifies itself with the HELO command.
4. The receiver accepts the sender's identification with "OK".
5. If the mail service on the destination is unavailable, the destination host
returns a "Service Not Available" reply in step 2, and the process is
terminated.
31
Mail Transfer
➢ Once a connection has been established, the SMTP sender may send one or
more messages to the SMTP receiver.
➢ There are three logical phases to the transfer of a message:
1. A MAIL command identifies the originator of the message.
2. One or more RCPT commands identify the recipients for this
message.
3. A DATA command transfers the message text.
Connection Termination
➢ The SMTP sender closes the connection in two steps.
➢ First, the sender sends a QUIT command and waits for a reply.
➢ The second step is to initiate a TCP close operation for the TCP connection.
➢ The receiver initiates its TCP close after sending its reply to the QUIT
command.
LIMITATIONS OF SMTP
➢ SMTP cannot transmit executable files or other binary objects.
➢ SMTP cannot transmit text data that includes national language characters, as
these are represented by 8-bit codes with values of 128 decimal or higher, and
SMTP is limited to 7-bit ASCII.
➢ SMTP servers may reject mail message over a certain size.
➢ SMTP gateways that translate between ASCII and the character code EBCDIC
do not use a consistent set of mappings, resulting in translation problems.
32
➢ Some SMTP implementations do not adhere completely to the SMTP standards
defined.
➢ Common problems include the following:
1. Deletion, addition, or recording of carriage return and linefeed.
2. Truncating or wrapping lines longer than 76 characters.
3. Removal of trailing white space (tab and space characters).
4. Padding of lines in a message to the same length.
Conversion of tab characters into multiple-space characters
MIME HEADERS
➢ Using headers, MIME describes the type of message content and the encoding
used.
➢ Headers defined in MIME are:
• MIME-Version- current version, i.e., 1.1
33
• Content-Type - message type (text/html, image/jpeg, application/pdf)
• Content-Transfer-Encoding - message encoding scheme (eg base64).
• Content-Id - unique identifier for the message.
• Content-Description - describes type of the message body.
➢ MTA is a mail daemon (sendmail) active on hosts having mailbox, used to send
an email.
➢ Mail passes through a sequence of gateways before it reaches the recipient mail
server.
➢ Each gateway stores and forwards the mail using Simple mail transfer protocol
(SMTP).
➢ SMTP defines communication between MTAs over TCP on port 25.
➢ In an SMTP session, sending MTA is client and receiver is server. In each
exchange:
➢ Client posts a command (HELO, MAIL, RCPT, DATA, QUIT, VRFY, etc.)
➢ Server responds with a code (250, 550, 354, 221, 251 etc) and an explanation.
➢ Client is identified using HELO command and verified by the server
➢ Client forwards message to server, if server is willing to accept.
➢ Message is terminated by a line with only single period (.) in it.
➢ Eventually client terminates the connection.
▪ Offline
▪ Online
Users may connect to the server, look at what email is available,
and access it online. This looks to the user very much like having
local spool files, but they’re on the mail server.
▪ Disconnected operation
A mail client connects to the server, can make a “cache” copy of
selected messages, and disconnects from the server. The user can
then work on the messages offline, and connect to the server later
and resynchronize the server status with the cache.
OPERATION OF IMAP
➢ The mail transfer begins with the client authenticating the user and identifying
the mailbox they want to access.
➢ Client Commands
LOGIN, AUTHENTICATE, SELECT, EXAMINE, CLOSE, and LOGOUT
➢ Server Responses
OK, NO (no permission), BAD (incorrect command),
➢ When user wishes to FETCH a message, server responds in MIME format.
➢ Message attributes such as size are also exchanged.
36
➢ Flags are used by client to report user actions.
SEEN, ANSWERED, DELETED, RECENT
IMAP4
➢ The latest version is IMAP4. IMAP4 is more powerful and more complex.
➢ IMAP4 provides the following extra functions:
• A user can check the e-mail header prior to downloading.
• A user can search the contents of the e-mail for a specific string of
characters prior to downloading.
• A user can partially download e-mail. This is especially useful if bandwidth
is limited and the e-mail contains multimedia with high bandwidth
requirements.
• A user can create, delete, or rename mailboxes on the mail server.
• A user can create a hierarchy of mailboxes in a folder for e-mail storage.
ADVANTAGES OF IMAP
➢ With IMAP, the primary storage is on the server, not on the local machine.
37
➢ Email being put away for storage can be foldered on local disk, or can be
foldered on the IMAP server.
➢ The protocol allows full user of remote folders, including a remote folder
hierarchy and multiple inboxes.
➢ It keeps track of explicit status of messages, and allows for user-defined status.
➢ Supports new mail notification explicitly.
➢ Extensible for non-email data, like netnews, document storage, etc.
➢ Selective fetching of individual MIME body parts.
➢ Server-based search to minimize data transfer.
➢ Servers may have extensions that can be negotiated.
38
➢ POP3 client is installed on the recipient computer and POP server on the mail
server.
➢ Client opens a connection to the server using TCP on port 110.
➢ Client sends username and password to access mailbox and to retrieve
messages.
39
POP3 Commands
POP commands are generally abbreviated into codes of three or four letters
The following describes some of the POP commands:
1. UID - This command opens the connection
2. STAT - It is used to display number of messages currently in the mailbox
3. LIST - It is used to get the summary of messages
4. RETR -This command helps to select a mailbox to access the messages
5. DELE - It is used to delete a message
6. RSET - It is used to reset the session to its initial state
7. QUIT - It is used to log off the session
40
DOMAIN NAME SYSTEM(DNS)
The following six steps shows the working of a DNS. It maps the host name to an IP
address:
1. The user passes the host name to the file transfer client.
2. The file transfer client passes the host name to the DNS client.
3. Each computer, after being booted, knows the address of one DNS server. The
DNS client sends a message to a DNS server with a query that gives the file
transfer server name using the known IP address of the DNS server.
4. The DNS server responds with the IP address of the desired file transfer server.
5. The DNS server passes the IP address to the file transfer client.
6. The file transfer client now uses the received IP address to access the file transfer
server.
NAME SPACE
➢ To be unambiguous, the names assigned to machines must be carefully selected
from a name space with complete control over the binding between the names
and IP address.
➢ The names must be unique because the addresses are unique.
➢ A name space that maps each address to a unique name can be organized in
two ways: flat (or) hierarchical.
41
Flat Name Space
• In a flat name space, a name is assigned to an address.
• A name in this space is a sequence of characters without structure.
• The main disadvantage of a flat name space is that it cannot be used in a
large system such as Internet because it must be centrally controlled to
avoid ambiguity and duplication.
➢ Each node in the tree has a label, which is a string with a maximum of 63
characters.
➢ The root label is a null string (empty string). DNS requires that children of a node
(nodes that branch from the same node) have different labels, which guarantees
42
the uniqueness of the domain names.
Domain Name
• Each node in the tree has a label called as domain name.
• A full domain name is a sequence of labels separated by dots (.)
• The domain names are always read from the node up to the root.
• The last label is the label of the root (null).
• This means that a full domain name always ends in a null label, which
means the last character is a dot because the null string is nothing.
• If a label is terminated by a null string, it is called a fully qualified domain
name (FQDN).
• If a label is not terminated by a null string, it is called a partially qualified
domain name (PQDN).
Domain
• A domain is a subtree of the domain name space.
• The name of the domain is the domain name of the node at the top of the sub-
tree.
• A domain may itself be divided into domains.
43
DISTRIBUTION OF NAME SPACE
➢ The information contained in the domain name space must be stored.
➢ But it is very inefficient and also not reliable to have just one computer store
such a huge amount of information.
➢ It is inefficient because responding to requests from all over the world, places a
heavy load on the system.
➢ It is not reliable because any failure makes the data inaccessible.
➢ The solution to these problems is to distribute the information among many
computers called DNS servers.
44
ZONE
➢ What a server is responsible for, or has authority over, is called a zone.
➢ The server makes a database called a zone file and keeps all the information for
every node under that domain.
➢ If a server accepts responsibility for a domain and does not divide the domains
into smaller domains, the domain and zone refer to the same thing.
➢ But if a server divides its domain into sub domains and delegates parts of its
authority to other servers, domain and zone refer to different things.
➢ The information about the nodes in the sub domains is stored in the servers at the
lower levels, with the original server keeping some sort of references to these
lower-level servers.
➢ But still, the original server does not free itself from responsibility totally.
➢ It still has a zone, but the detailed information is kept by the lower level
servers.
ROOT SERVER
➢ A root sever is a server whose zone consists of the whole tree.
➢ A root server usually does not store any information about domains but
delegates its authority to other servers, keeping references to those servers.
➢ Currently there are more than 13 root servers, each covering the whole domain
name space.
➢ The servers are distributed all around the world.
45
➢ A primary server loads all information from the disk file; the secondary server
loads all information from the primary server.
Generic Domains
➢ The generic domains define registered hosts according to their generic
behavior.
➢ Each node in the tree defines a domain, which is an index to the domain name
space database.
➢ The first level in the generic domains section allows seven possible three
character levels.
➢ These levels describe the organization types as listed in following table.
Country Domains
➢ The country domains section follows the same format as the generic domains
but uses two characters for country abbreviations
➢ E.g.; in for India, us for United States etc) in place of the three character
organizational abbreviation at the first level.
➢ Second level labels can be organizational, or they can be more specific,
national designation.
➢ India for example, uses state abbreviations as a subdivision of the country
domain us. (e.g., ca.in.)
Inverse Domains
➢ Mapping an address to a name is called Inverse domain.
46
➢ The client can send an IP address to a server to be mapped to a
domain name and it is called PTR(Pointer) query.
To answer queries of this kind, DNS uses the inverse domain.
SNMP MANAGER
• A manager is a host that runs the SNMP client program
• The manager has access to the values in the database kept by the agent.
• A manager checks the agent by requesting the information
that reflects thebehavior of the agent.
• A manager also forces the agent to perform a certain function
by resettingvalues in the agent database.
• For example, a router can store in appropriate variables the
number of packetsreceived and forwarded.
• The manager can fetch and compare the values of these two
variables to see ifthe router is congested or not.
SNMP AGENT
• The agent is a router that runs the SNMP server program.
47
• 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.
48
MIB Variables
MIB variables are of two types namely simple and table.
• Simple variables are accessed using group-id followed by variable-id and 0
• Tables are ordered as column-row rules, i.e., column by
column from top tobottom. Only leaf elements are accessible in a
table type.
SNMP MESSAGES/PDU
SNMP is request/reply protocol that supports various operations
using PDUs.SNMP defines eight types of protocol data units
(or PDUs):
GetRequest, GetNext-Request, GetBulkRequest, SetRequest,
Response, Trap,InformRequest, and
Report
GetRequest
▪ The GetRequest PDU is sent from the manager (client) to the
agent (server) toretrieve the value of a variable or a set of
variables.
GetNextRequest
▪ The GetNextRequest PDU is sent from the manager to the agent
to retrieve thevalue of a variable.
49
GetBulkRequest
▪ The GetBulkRequest PDU is sent from the manager to the agent to
retrieve a large amount of data. It can be used instead of multiple
GetRequest and GetNextRequest PDUs.
SetRequest
▪ The SetRequest PDU is sent from the manager to the agent to
set (store) avalue in a variable.
Response
▪ The Response PDU is sent from an agent to a manager in response
to GetRequest or GetNextRequest. It contains the value(s) of the
variable(s) requested by the manager.
Trap
▪ The Trap PDU is sent from the agent to the manager to report an
event. For example, if the agent is rebooted, it informs the manager
and reports the time ofrebooting.
InformRequest
▪ The InformRequest PDU is sent from one manager to another
remote manager to get the value of some variables from agents
under the control of the remote manager. The remote manager
responds with a Response PDU.
Report
▪ The Report PDU is designed to report some types of errors between
managers.
50