CN notes
CN notes
CN notes
I. Delivery: The system must deliver data to the correct destination. Data must be received by
the intended device or user .
2. Accuracy: The system must deliver the data accurately. Data that have been altered in
transmission and left uncorrected are unusable.
3. Timeliness: The system must deliver data in a timely manner. Data delivered late are useless.
4. Jitter: Jitter refers to the variation in the packet arrival time. It is the uneven delay in
the delivery of audio or video packets.
1.1.1 Components
3. Receiver: The receiver is the device that receives the message. It can be a computer,
workstation, telephone handset, television, and so on.
4. Transmission medium: The transmission medium is the physical path by which a message
travels from sender to receiver. Some examples of transmission media include twisted-pair
wire, coaxial cable, fiber optic cable, and radio waves.
Information today comes in different forms such as text, numbers, images, audio, and
video.
Text
In data communications, text is represented as a bit pattern, a sequence of bits (O s or 1 s).
Different sets of bit patterns have been designed to represent text symbols. Each set is called a
code, and the process of representing symbols is called coding.
Unicode, which uses 32 bits to represent a symbol or character used in any language in the
world. The American Standard Code for Information Interchange (ASCII), now constitutes the
first 127 characters in Unicode and is also referred to as Basic Latin.
Numbers
Numbers are also represented by bit patterns. However, a code such as ASCII is not used
to represent numbers; the number is directly converted to a binary number to simplify
mathematical operations.
Images
Images are also represented by bit patterns. In its simplest form, an image is composed
of a matrix of pixels (picture elements), where each pixel is a small dot. The size of the
pixel depends on the resolution. The size and the value of the pattern depend on the image.
For an image made of only black-and-white dots (e.g., a chessboard), a I-bit pattern is enough
to represent a pixel. If an image is not made of pure white and pure black pixels, you can
increase the size of the bit pattern to include gray scale
There are several methods to represent color images. One method is called RGB, so called
because each color is made of a combination of three primary colors: red, green, and blue.
The intensity of each color is measured, and a bit pattern is assigned to it. Another method is
called YCM, in which a color is made of a combination of three other primary colors: yellow,
cyan, and magenta.
Audio
Audio refers to the recording or broadcasting of sound or music. Audio is by nature different
from text, numbers, or images.
Simplex
In simplex mode, the communication is unidirectional, as on a one-way street. Only one
of the two devices on a link can transmit; the other can only receive (see Figure 1.2a).
Keyboards and traditional monitors are examples of simplex devices.
Half-Duplex
In half-duplex mode, each station can both transmit and receive, but not at the same time.
When one device is sending, the other can only receive, and vice versa (see Figure 1.2b)
Full-Duplex
In full-duplex mode (also called duplex), both stations can transmit and receive simultaneously
(see Figure 1.2c).The full-duplex mode is like a two-way street with traffic flowing in both
directions at the same time. One common example of full-duplex communication is the
telephone network. When two people are communicating by a telephone line, both can talk and
listen at the same time. The full-duplex mode is used when communication in both directions
is required all the time.
1.2 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 and/or receiving data
generated by other nodes on the network.
Distributed Processing
Most networks use distributed processing, in which a task is divided among multiple
computers. Instead of one single large machine being responsible for all aspects of a
process, separate computers (usually a personal computer or workstation) handle a
subset.
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,
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.
The term physical topology refers to the way in which a network is laid out physically. Two or
more devices connect to a link; two or more links form a topology. The topology of a network
is the geometric representation of the relationship of all the links and linking devices (usually
called nodes) to one another. There are four basic topologies possible: mesh, star, bus, and ring
(see Figure 1.4).
Mesh Topology
Star Topology
• In a star topology, each device has a dedicated point-to-point link
only to acentral controller, usually called a hub.
• The devices are not directly linked to one another.
Bus Topology
Hybrid Topology
• Hybrid Topology is a combination of one or more basic topologies.
• For example if one department in an office uses ring topology, the other
departments uses star and bus topology, then connecting these topologies will
result in Hybrid Topology.
• Hybrid Topology inherits the advantages and disadvantages of the topologies
included.
Switched WAN
A switched WAN is a network with more than two ends. It is used in the backbone of a
global communications network today. Figure 1.10 shows an example of a switched WAN
Types of Internetwork
Extranet Intranet
An extranet is used for information sharing.
The access to the extranet is restricted to only An intranet belongs to an organization which
those users who have login credentials. An is only accessible by the
extranet is the lowest level of internetworking. organization's employee or members. The
It can becategorized as MAN, WAN or other main aim of the intranet is to share the
computer networks. An extranet cannot have a information and resources among the
single LAN, atleast it must haveone connection organization employees. An intranet provides
to the external network. the facility to work in groups and for
teleconferences.
At the second level, there are smaller networks, called provider networks, that use the services
of the backbones for a fee. The provider networks are connected to backbones and sometimes
to other provider networks. The customer networks are networks at the edge of the Internet that
actually use the services provided by the Internet. They pay fees to provider networks for
receiving services.
Backbones and provider networks are also called Internet Service Providers (ISPs). The
backbones are often referred to as international ISPs; the provider networks are often referred
to as national or regional ISPs.
Today most residences and small businesses have telephone service, which means they are
connected to a telephone network. Because most telephone networks have already connected
themselves to the Internet, one option for residences and small businesses to connect to the
Internet is to change the voice line between the residence or business and the telephone center
to a point-to-point WAN. This can be done in two ways.
❏ Dial-up service. The first solution is to add a modem that converts data to voice to the
telephone line. The software installed on the computer dials the ISP and imitates making a
❏ DSL Service. Since the advent of the Internet, some telephone companies have upgraded
their telephone lines to provide higher-speed Internet services to residences or small businesses.
The digital subscriber line (DSL) service also allows the line to be used simultaneously for
voice and data communications.
More and more residents over the last two decades have begun using cable TV services instead
of antennas to receive TV broadcasting. The cable companies have been upgrading their cable
networks and connecting to the Internet. A residence or a small business can be connected to
the Internet by using this service. It provides a higher-speed connection, but the speed varies
depending on the number of neighbors that use the same cable.
A large organization or a large corporation can itself become a local ISP and be connected to
the Internet. This can be done if the organization or the corporation leases a high-speed WAN
from a carrier provider and connects itself to a regional ISP. For example, a large university
with several campuses can create an internetwork and then connect the internetwork to the
Internet.
1. Application layer
2. Transport Layer (TCP/UDP)
3. Network Layer
4. Datalink Layer
5. Physical Layer
To show how the layers in the TCP/IP protocol suite are involved in communication
between two hosts, we assume that we want to use the suite in a small internet made up of three
LANs (links), each with a link-layer switch. We also assume that the links are connected by
one router, as shown in Figure 1.18 (on next page). Let us assume that computer A
communicates with computer B.
As Figure 1.18 shows, we have five communicating devices in this communication:
source host (computer A), the link-layer switch in link 1, the router, the link-layer switch in
link 2, and the destination host (computer B). Each device is involved with a set of layers
depending on the role of the device in the internet. The two hosts are involved in all five layers.
After understanding the concept of logical communication, we are ready to briefly discuss the
duty of each layer.
Application Layer
An application layer incorporates the function of top three OSI layers.
Anapplication layer is the topmost layer in the TCP/IP model.
It is responsible for handling high-level protocols, issues of representation.
This layer allows the user to interact with the application.
When one application layer protocol wants to communicate with another
application layer, it forwards its data to the transport layer.
Protocols such as FTP, HTTP, SMTP, POP3, etc running in the application layer
provides service to other program running on top of application layer
Transport Layer
The transport layer is responsible for the reliability, flow control, and correction
This is the only layer that directly interacts with data from the user. Software
applications like web browsers and email clients rely on the application layer to initiate
communications. But it should be made clear that client software applications are not part of
the application layer; rather the application layer is responsible for the protocols and data
manipulation that the software relies on to present meaningful data to the user. Application
layer protocols include HTTP as well as SMTP (Simple Mail Transfer Protocol is one of the
protocols that enables email communications).
This layer is primarily responsible for preparing data so that it can be used by the
application layer; in other words, layer 6 makes the data presentable for applications to
consume. The presentation layer is responsible for translation, encryption, and compression of
data.
Finally the presentation layer is also responsible for compressing data it receives from
the application layer before delivering it to layer 5. This helps improve the speed and efficiency
of communication by minimizing the amount of data that will be transferred.
This is the layer responsible for opening and closing communication between the two
devices. The time between when the communication is opened and closed is known as the
session. The session layer ensures that the session stays open long enough to transfer all the
data being exchanged, and then promptly closes the session in order to avoid wasting resources.
Layer 4 is responsible for end-to-end communication between the two devices. This
includes taking data from the session layer and breaking it up into chunks called segments
before sending it to layer 3. The transport layer on the receiving device is responsible for
reassembling the segments into data the session layer can consume.
The transport layer is also responsible for flow control and error control. Flow control
determines an optimal speed of transmission to ensure that a sender with a fast connection does
not overwhelm a receiver with a slow connection. The transport layer performs error control
on the receiving end by ensuring that the data received is complete, and requesting a
retransmission if it isn’t.
The network layer works for the transmission of data from one host to the other
located in different networks. It also takes care of packet routing i.e. selection of the shortest
path to transmit the packet, from the number of routes available. The sender & receiver’s IP
addresses are placed in the header by the network layer.
1. Routing: The network layer protocols determine which route is suitable from source
to destination. This function of the network layer is known as routing.
2. Logical Addressing: In order to identify each device on internetwork uniquely, the
network layer defines an addressing scheme. The sender & receiver’s IP addresses are
placed in the header by the network layer. Such an address distinguishes each device
uniquely and universally.
The data link layer is responsible for the node-to-node delivery of the message. The main
function of this layer is to make sure data transfer is error-free from one node to another, over
the physical layer. When a packet arrives in a network, it is the responsibility of DLL to
transmit it to the Host using its MAC address.
Data Link Layer is divided into two sublayers:
The packet received from the Network layer is further divided into frames depending on
the frame size of NIC(Network Interface Card). DLL also encapsulates Sender and
Receiver’s MAC address in the header.
This layer includes the physical equipment involved in the data transfer, such as the
cables and switches. This is also the layer where the data gets converted into a bit stream,
which is a string of 1s and 0s. The physical layer of both devices must also agree on a signal
convention so that the 1s can be distinguished from the 0s on both devices.
Summary of Layers
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 addresses 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.
How can a client or a server find a pair of socket addresses for communication? The situation
is different for each site.
Server Site
The server needs a local (server) and a remote (client) socket address for communication.
Local Socket Address The local (server) socket address is provided by the operating system.
The operating system knows the IP address of the computer on which the server process is
running. The port number of a server process, however, needs to be assigned. If the server
process is a standard one defined by the Internet authority, a port number is already assigned
to it. When a server starts running, it knows the local socket address.
Remote Socket Address The remote socket address for a server is the socket address of the
client that makes the connection. Because the server can serve many clients, it does not know
beforehand the remote socket address for communication. The server can find this socket
address when a client tries to connect to the server. The client socket address, which is
contained in the request packet sent to the server, becomes the remote socket address that is
used for responding to the client.
Client Site
The client also needs a local (client) and a remote (server) socket address for communication.
Local Socket Address The local (client) socket address is also provided by the operating
system. The operating system knows the IP address of the computer on which the client is
running. The port number, however, is a 16- bit temporary integer that is assigned to a client
process each time the process needs to start the communication. The port number, however,
needs to be assigned from a set of integers defined by the Internet authority and called the
ephemeral (temporary) port numbers. The operating system, however, needs to guarantee that
the new port number is not used by any other running client process.
Remote Socket Address Finding the remote (server) socket address for a client, however, needs
more work. When a client process starts, it should know the socket address of the server it
wants to connect to. We will have two situations in this case.
o Each standard protocol is a pair of computer programs that interact with the
user and the transport layer to provide a specific service to the user.
Client-Server Paradigm
o The traditional paradigm is called the client-server paradigm.
o It was the most popular Paradigm.
o In this paradigm, the service provider is an application program, called the server process; it
runs continuously, waiting for another application program, called the client process, to make
a connection through the Internet and ask for service.
o The server process must be running all the time; the client process is started when the client
needs to receive service.
o There are normally some server processes that can provide a specific type of service, but
there are many clients that request service from any of these server processes.
Peer-to-Peer(P2P) Paradigm
o A new paradigm, called the peer-to-peer paradigm has emerged to respond to the needs of
some new applications.
o In this paradigm, there is no need for a server process to be running all the time and waiting
for the client processes to connect.
o The responsibility is shared between peers.
o A computer connected to the Internet can provide service at one time and receive service at
another time.
o A computer can even provide and receive services at the same time.
• 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 the request, 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.
• 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:
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.
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
• In a non-persistent connection, one TCP connection is made for each request/response.
• Only one object can be sent over a single TCP connection
• The client opens a TCP connection and sends a request.
• The server sends the response and closes the connection.
Persistent Connections
• HTTP version 1.1 specifies a persistent connection by default.
• Multiple objects can be sent over a single TCP connection.
• In a persistent connection, the server leaves the connection open for more requests after
sending a response.
• The server can close the connection at the request of a client or if a time-out has been
reached.
• Time and resources are saved using persistent connections. Only one set of buffers and
variables needs to be set for the connection at each site.
• The round trip time for connection establishment and connection termination is saved.
Http Cookies
• An HTTP cookie (also called web cookie, Internet cookie, browser cookie, or simply cookie)
is a small piece of data sent from a website and stored on the user's computer by the user's web
browser while the user is browsing.
• They can also be used to remember arbitrary pieces of information that the user previously
entered into form fields such as names, addresses, passwords, and credit card numbers.
1. Name
2. Value
3. Zero or more attributes (name/value pairs). Attributes store information such as
the cookie's expiration, domain, and flags.
Using Cookies
• When a client sends a request to a server, the browser looks in the cookie directory to see if
it can find a cookie sent by that server.
• If found, the cookie is included in the request.
• When the server receives the request, it knows that this is an old client, not a new one.
• The contents of the cookie are never read by the browser or disclosed to the user. It is a
cookie made by the server and eaten by the server.
Types of Cookies
1.Authentication cookies
These are the most common method used by web servers to know whether the user is logged
in or not, and which account they are logged in with. Without such a mechanism, the site
would not know whether to send a page containing sensitive information, or require the user
to authenticate themselves by logging in.
2.Tracking cookies
These are commonly used as ways to compile individuals browsing histories.
4.Persistent cookie
Instead of expiring when the web browser is closed as session cookies do, a persistent cookie
expires at a specific date or after a specific length of time. This means that, for the cookie's
entire lifespan , its information will be transmitted to the server every time the user visits the
website that it belongs to, or every time the user views a resource belonging to that website
from another website
Http Caching
HTTP Caching enables the client to retrieve document faster and reduces load on the
server.
HTTP Caching is implemented at Proxy server, ISP router and Browser.
Server sets expiration date (Expires header) for each page, beyond which it is not cached.
HTTP Cache document is returned to client only if it is an updated copy by checking
against If-Modified-Since header.
If cache document is out-of-date, then request is forwarded to the server and response is
cached along the way.
A web page will not be cached if no-cache directive is specified.
HTTP SECURITY
HTTP does not provide security.
However HTTP can be run over the Secure Socket Layer (SSL).
In this case, HTTP is referred to as HTTPS.
HTTPS provides confidentiality, client and server authentication, and data
integrity.
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.
FTP CONNECTIONS
There are two types of connections in FTP - Control Connection and Data Connection.
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 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.
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
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.
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 also allows the use of Relays allowing other MTAs to relay the mail.
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.
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.
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.
SMTP provides a basic email service, while MIME adds multimedia capability to
SMTP.
MIME is an extension to SMTP and is used to overcome the problems and limitations
of SMTP.
Email system was designed to send messages only in ASCII format.
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
• 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 (send mail) 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.
IMAP is an Application Layer Internet protocol that allows an e-mail client to access e-mail
on a remote mail server.
It is a method of accessing electronic mail messages that are kept on a possibly shared mail
server.
IMAP is a more capable wire protocol.
IMAP is similar to SMTP in many ways.
IMAP is a client/server protocol running over TCP on port 143.
IMAP allows multiple clients simultaneously connected to the same mailbox, and through
flags stored on the server, different clients accessing the same mailbox at the same or different
times can detect state changes made by other clients.
In other words, it permits a "client" email program to access remote message stores as if
they were local.
For example, email stored on an IMAP server can be manipulated from a desktop computer
at home, a workstation at the office, and a notebook computer while travelling, without the
need to transfer messages or files back and forth between these computers.
IMAP can support email serving in three modes:
Offline
Online
Users may connect to the server, look at what email is available, and access it online. This
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.
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:
Advantages Of IMAP
With IMAP, the primary storage is on the server, not on the local machine.
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.
Post Office Protocol (POP3) is an application-layer Internet standard protocol used by local
e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection.
There are two versions of POP.
• The first, called POP2, became a standard in the mid-80's and requires SMTP to send
messages.
• The current version, POP3, can be used with or without SMTP. POP3 uses TCP/IP port 110.
POP is a much simpler protocol, making implementation easier.
POP supports offline access to the messages, thus requires less internet usage time
POP does not allow search facility.
In order to access the messages, it is necessary to download them.
It allows only one mailbox to be created on server.
It is not suitable for accessing non mail data.
POP mail moves the message from the email server onto the local computer, although there
is usually an option to leave the messages on the email server as well.
POP treats the mailbox as one store, and has no concept of folders.
POP works in two modes namely, delete and keep mode.
• In delete mode, mail is deleted from the mailbox after retrieval. The delete mode is normally
used when the user is working at their permanent computer and can save and organize the
received mail after reading or replying.
• In keep mode, mail after reading is kept in mailbox for later retrieval. The keep mode is
normally used when the user accesses her mail away from their primary computer .
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.
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
WORKING OF 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.
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 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).
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
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.)
DNS RESOLUTION
Mapping a name to an address or an address to a name is called name address resolution.
DNS is designed as a client server application.
A host that needs to map an address to a name or a name to an address calls a DNS client
named a Resolver.
The Resolver accesses the closest DNS server with a mapping request.
If the server has the information, it satisfies the resolver; otherwise, it either refers the
resolver to other servers or asks other servers to provide the information.
After the resolver receives the mapping, it interprets the response to see if it is a real
resolution or an error and finally delivers the result to the process that requested it.
A resolution can be either recursive or iterative.
Recursive Resolution
• The application program on the source host calls the DNS resolver (client) to find the IP
address of the destination host. The resolver, which does not know this address, sends the
query to the local DNS server of the source (Event 1)
• The local server sends the query to a root DNS server (Event 2)
• The Root server sends the query to the top-level-DNS server(Event 3)
• The top-level DNS server knows only the IP address of the local DNS server at the
destination. So it forwards the query to the local server, which knows the IP address of the
destination host (Event 4)
• The IP address of the destination host is now sent back to the top-level DNS server(Event 5)
then back to the root server (Event 6), then back to the source DNS server, which may cache it
for the future queries (Event 7), and finally back to the source host (Event 8)
Iterative Resolution
DNS CACHING
Each time a server receives a query for a name that is not in its domain, it needs to search
its database for a server IP address.
DNS handles this with a mechanism called caching.
When a server asks for a mapping from another server and receives the response, it stores
this information in its cache memory before sending it to the client.
If the same or another client asks for the same mapping, it can check its cache
memory and resolve the problem.
However, to inform the client that the response is coming from the cache memory and not
from an authoritative source, the server marks the response as unauthoritative.
Caching speeds up resolution. Reduction of this search time would increase efficiency, but
it can also be problematic.
If a server caches a mapping for a long time, it may send an outdated mapping to the client.
To counter this, two techniques are used.
First, the authoritative server always adds information to the mapping called time to live
(TTL). It defines the time in seconds that the receiving server can cache the information. After
that time, the mapping is invalid and any query must be sent again to the authoritative server.
Second, DNS requires that each server keep a TTL counter for each mapping it caches. The
cache memory must be searched periodically and those mappings with an expired TTL must
be purged.
DNS MESSAGES
DNS has two types of messages: query and response.
Both types have the same format.
The query message consists of a header and question section.
The response message consists of a header, question section, answer section,
authoritative section, and additional section .
Header
• Both query and response messages have the same header format with
some fields set to zero for the query messages.
• The header fields are as follows:
• The identification field is used by the client to match the response with the query.
• The flag field defines whether the message is a query or response. It also includes status of
error.
• The next four fields in the header define the number of each record type in the message.
Question Section
• The question section consists of one or more question records. It is present in both query and
response messages.
Answer Section
• The answer section consists of one or more resource records. It is present only in response
DNS CONNECTIONS
DNS REGISTRARS
In DNS, when there is a change, such as adding a new host, removing a host, or changing
an IP address, the change must be made to the DNS master file.
The DNS master file must be updated dynamically.
The Dynamic Domain Name System (DDNS) is used for this purpose.
In DDNS, when a binding between a name and an address is determined, the information is
sent to a primary DNS server.
The primary server updates the zone.
The secondary servers are notified either actively or passively.
In active notification, the primary server sends a message to the secondary servers about the
change in the zone, whereas in passive notification, the secondary servers periodically check
for any changes.
In either case, after being notified about the change, the secondary server requests
information about the entire zone (called the zone transfer).
To provide security and prevent unauthorized changes in the DNS records, DDNS can use
an authentication mechanism.
To protect DNS, IETF has devised a technology named DNS Security (DNSSEC) that
provides message origin authentication and message integrity using a security service called
digital signature.
DNSSEC, however, does not provide confidentiality for the DNS messages.
There is no specific protection against the denial-of-service attack in the specification of
DNSSEC. However, the caching system protects the upper- level servers against this attack to
some extent.
The Simple Network Management Protocol (SNMP) is a framework for managing devices
in an internet using the TCP/IP protocol suite.
SNMP is an application layer protocol that monitors and manages routers, distributed over a
network.
It provides a set of operations for monitoring and managing the internet.
SNMP uses services of UDP on two well-known ports: 161 (Agent) and 162 (manager).
SNMP uses the concept of manager and agent.
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.
SNMP AGENT
• The agent is a router that runs the SNMP server program.
• 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.
Name
SMI requires that each managed object (such as a router, a variable in a router, a value,etc.)
have a unique name. To name objects globally.
SMI uses an object identifier, which is a hierarchical identifier based on a tree structure.
The tree structure starts with an unnamed root. Each object can be defined using a sequence
Encoding data
SMI uses another standard, Basic Encoding Rules (BER), to encode data to be transmitted
over the network.
BER specifies that each piece of data be encoded in triplet format (TLV): tag, length, value
The Management Information Base (MIB) is the second component used in network
management.
• Each agent has its own MIB, which is a collection of objects to be managed.
• MIB classifies objects under groups.
MIB Variables
GetRequest
The GetRequest PDU is sent from the manager (client) to the agent (server)
to retrieve the value of a variable or a set of variables.
GetNextRequest
The GetNextRequest PDU is sent from the manager to the agent to retrieve
the value of a variable.
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) a
value in a variable.
Response
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
of rebooting.
InformRequest
Report
Routing and protocols: Unicast routing - Distance Vector Routing - RIP - Link State
Routing – OSPF– Path-vector routing - BGP - Multicast Routing: DVMRP – PIM
4.1 Routing
• A Router is a process of selecting path along which the data can be transferred from
source to the destination. Routing is performed by a special device known as a router.
• A Router works at the network layer in the OSI model and internet layer in TCP/IP
model
• A router is a networking device that forwards the packet based on the information
available in the packet header and forwarding table.
• The routing algorithms are used for routing the packets. The routing algorithm is
nothing but a software responsible for deciding the optimal path through which packet
can be transmitted.
• The routing protocols use the metric to determine the best path for the packet
delivery. The metric is the standard of measurement such as hop count, bandwidth,
delay, current load on the path, etc. used by the routing algorithm to determine the
optimal path to the destination.
• The routing algorithm initializes and maintains the routing table for the process of
path determination.
• Hop count: Hop count is defined as a metric that specifies the number of passes
through internetworking devices such as a router, a packet must travel in a route to
move from source to the destination. If the routing protocol considers the hop as a
primary metric value, then the path with the least hop count will be considered as the
best path to move from source to the destination.
• Delay: It is a time taken by the router to process, queue and transmit a datagram to an
interface. The protocols use this metric to determine the delay values for all the links
along the path end-to-end. The path having the lowest delay value will be considered
as the best path.
• Bandwidth: The capacity of the link is known as a bandwidth of the link. The
bandwidth is measured in terms of bits per second. The link that has a higher transfer
rate like gigabit is preferred over the link that has the lower capacity like 56 kb. The
protocol will determine the bandwidth capacity for all the links along the path, and the
overall higher bandwidth will be considered as the best route.
• Load: Load refers to the degree to which the network resource such as a router or
network link is busy. A Load can be calculated in a variety of ways such as CPU
utilization, packets processed per second. If the traffic increases, then the load value
will also be increased. The load value changes with respect to the change in the
traffic.
Types of Routing
• Static Routing
• Default Routing
• Dynamic Routing
Static Routing
• No Overhead: It has ho overhead on the CPU usage of the router. Therefore, the
cheaper router can be used to obtain static routing.
• Bandwidth: It has not bandwidth usage between the routers.
• Security: It provides security as the system administrator is allowed only to have
control over the routing to a particular network.
• For a large network, it becomes a very difficult task to add each route manually to the
routing table.
• The system administrator should have a good knowledge of a topology as he has to
add each route manually.
Default Routing
• Default Routing is a technique in which a router is configured to send all the packets
to the same hop device, and it doesn't matter whether it belongs to a particular
network or not. A Packet is transmitted to the device for which it is configured in
default routing.
Dynamic Routing
• All the routers must have the same dynamic routing protocol in order to exchange the
routes.
• If the router discovers any change in the condition or topology, then router broadcast
this information to all other routers.
• It is easier to configure.
• It is more effective in selecting the best route in response to the changes in the
condition or topology.
Unicast – Unicast means the transmission from a single sender to a single receiver. It is a
point-to-point communication between sender and receiver. There are various unicast
protocols such as TCP, HTTP, etc.
The routing protocol is used to calculate the best route from source to destination based on
the distance or hops as its primary metric to define an optimal path. The distance vector refers
to the distance to the neighbor nodes, where routing defines the routes to the established
node.
The Distance Vector routing algorithm(DVR) shares the information of the routing table
with the other routers in the network and keeps the information up-to-date to select an
optimal path from source to destination.
Step-01:
Each router prepares its routing table. By their local knowledge. each router knows about-
Step-02:
In the network shown below, there are three routers, A, B, and C, with the following weights
− AB =2, BC =3 and CA =5.
Step 1 − In this DVR network, each router shares its routing table with every neighbor. For
example, A will share its routing table with neighbors B and C and neighbors B and C will
share their routing table with A.
Form A A B C
A 0 2 3
B
C
Form B A B C
A
B 2 0 1
C
Form C A B C
A
B
C 3 1 0
Form A A B C
A 0 2 3
B
C
Form B A B C
A
B 2 0 1
C
Form C A B C
A
B
C 3 1 0
Step 3 − The final updated routing table with lower cost distance vector routing protocol for
all routers A, B, and C is given below –
Router A
Form A A B C
A 0 2 3
B 2 0 1
C 3 1 0
Router B
Form B A B C
A 0 2 3
B 2 0 1
C 3 1 0
A 0 2 3
B 2 0 1
C 3 1 0
RIP Protocol
RIP stands for Routing Information Protocol. RIP is an intra-domain routing protocol used
within an autonomous system. Here, intra-domain means routing the packets in a defined
domain, for example, web browsing within an institutional area. To understand the RIP
protocol, our main focus is to know the structure of the packet, how many fields it contains,
and how these fields determine the routing table.
Before understanding the structure of the packet, we first look at the following points:
• RIP is based on the distance vector-based strategy, so we consider the entire structure
as a graph where nodes are the routers, and the links are the networks.
• In a routing table, the first column is the destination, or we can say that it is a network
address.
• The cost metric is the number of hops to reach the destination. The number of hops
available in a network would be the cost. The hop count is the number of networks
required to reach the destination.
• In RIP, infinity is defined as 16, which means that the RIP is useful for smaller
networks or small autonomous systems. The maximum number of hops that RIP can
contain is 15 hops, i.e., it should not have more than 15 hops as 16 is infinity.
• The next column contains the address of the router to which the packet is to be sent to
reach the destination.
When the router sends the packet to the network segment, then it is counted as a single hop.
In the above figure, when the router 1 forwards the packet to the router 2 then it will count as
1 hop count. Similarly, when the router 2 forwards the packet to the router 3 then it will count
Now, we look at the structure of the RIP message format. The message format is used to
share information among different routers. The RIP contains the following fields in a
message:
• Command: It is an 8-bit field that is used for request or reply. The value of the request
is 1, and the value of the reply is 2.
• Version: Here, version means that which version of the protocol we are using.
Suppose we are using the protocol of version1, then we put the 1 in this field.
• Reserved: This is a reserved field, so it is filled with zeroes.
• Family: It is a 16-bit field. As we are using the TCP/IP family, so we put 2 value in
this field.
• Network Address: It is defined as 14 bytes field. If we use the IPv4 version, then we
use 4 bytes, and the other 10 bytes are all zeroes.
• Distance: The distance field specifies the hop count, i.e., the number of hops used to
reach the destination.
Link state routing has a different philosophy from that of distance vector routing. In link state
routing, if each node in the domain has the entire topology of the domain the list of nodes and
links, how they are connected including the type, cost (metric), and condition of the links (up
or down)-the node can use Dijkstra's algorithm to build a routing table.
In link state routing, four sets of actions are required to ensure that each node has the routing
table showing the least-cost node to every other node.
a) Creation of the states of the links by each node, called the link state packet (LSP).
b) Dissemination of LSPs to every other router, called flooding, in an efficient and reliable
way.
Types of Links
In OSPF terminology, a connection is called a link. Four types of links have been defined:
point-to-point, transient, stub, and virtual.
• As shown in the Fig. routers R1, R2 andR7 are internal routers. Routers R3, R6,
R8are area border routers. Routers R3, R4, R5, R6, R8are backbone routers. Router R4 is
an ASBR
3. Packet length: This field specifies the length of OSPF packet in bytes,
4. Router ID: It identifies the sending router.
OSPF Advantages
Distance vector and link state routing are both intradomain routing protocols. They can be used
inside an autonomous system, but not between autonomous systems. These two protocols are
not suitable for interdomain routing mostly because of scalability. Both of these routing
protocols become intractable when the domain of operation becomes large. Distance vector
routing is subject to instability if there are more than a few hops in the domain of operation.
Link state routing needs a huge amount of resources to calculate routing tables. It also creates
heavy traffic because of flooding. There is a need for a third routing protocol which we call
path vector routing.
Path Vector Routing is a routing algorithm in unicast routing protocol of network layer, and it
is useful for interdomain routing. The principle of path vector routing is similar to that of
distance vector routing. It assumes that there is one node in each autonomous system that acts
on behalf of the entire autonomous system is called Speaker node . It is different from the
distance vector routing and link state routing. Each entry in the routing table contains the
destination network, the next router and the path to reach the destination.
Functions
Prevention Of Loop
Policy Routing
Optimum Path
BGP
Border Gateway Protocol (BGP) is used to Exchange routing information for the internet,
used to route traffic from one autonomous system (AS) to another.
Different Types of Autonomous Systems?
Since the BGP helps in routing between different autonomous systems, it is important to
learn about different types of autonomous systems:
1. Stub AS:
3. Transit AS:
BGP connections inside an autonomous system are called internal BGP (iBGP) and BGP
connections between different autonomous systems are called external BGP(eBGP). Fig.
shows the internal and external BGP
BGP messages : Header of the all BGP messages is fixed size that identifies the message
type. Fig. shows the BGP message header format
Disadvantages of BGP
1. BGP is complex.
2. BGP routes to destination networks, rather than to specific hosts or routers.
Multicast Routing: DVMRP – PIM
Multicast is a method of group communication where the sender sends data to multiple
receivers or nodes present in the network simultaneously. Multicasting is a type of one-to-
many and many-to-many communication as it allows sender or senders to send data packets
to multiple receivers at once across LANs or WANs. This process helps in minimizing the
data frame of the network
There are different Multicast Routing Protocols used for multicst routing
1. A router transmits its distance vector to each of its neighbors in a routing packet.
2. Each router receives and saves the most recently received distance vector from each
of its neighbors.
3. A router recalculates its distance vector when:
o It receives a distance vector from a neighbor containing different information
than before.
o It discovers that a link to a neighbor has gone down.
Consider router X , X will share it routing table to neighbors and neighbors will share it
routing table to it to X and distance from node X to destination will be calculated using
bellmen- ford equation.
As we can see that distance will be less going from X to Z when Y is intermediate node(hop)
so it will be update in routing table X.
PIM
PIM (Protocol Independent Multicast) is a multicast routing protocol, that is used to send
traffic from a single source to multiple destinations across a network.
PIM is a collection of three protocols - PIM Sparse Mode, PIM Dense Mode and PIM Bi-
directional . PIM is termed protocol-independent because PIM does not include its own
PIM Sparse Mode (PIM-SM) is a multicast routing protocol designed on the assumption that
recipients for any particular multicast group will be sparsely distributed throughout the
network. In other words, it is assumed that most subnets in the network will not want any given
multicast packet. In order to receive multicast data, routers must explicitly tell their upstream
neighbors about their interest in particular groups and sources. Routers use PIM Join and Prune
messages to join and leave multicast distribution trees.
PIM Dense Mode (PIM-DM) is a multicast routing protocol designed with the opposite
assumption to PIM-SM, namely that the receivers for any multicast group are distributed
densely throughout the network. That is, it is assumed that most (or at least many) subnets in
the network will want any given multicast packet. Multicast data is initially sent to all hosts in
the network. Routers that do not have any interested hosts then send PIM Prune messages to
remove themselves from the tree.
Bi-directional PIM
Bi-directional PIM (BIDIR-PIM) is a third PIM protocol, based on PIM-SM. The main way
BIDIR-PIM differs from PIM-SM is in the method used to send data from a source to the RP.
Whereas in PIM-SM data is sent using either encapsulation or a source-based tree, in BIDIR-
PIM the data flows to the RP along the shared tree, which is bi-directional - data flows in both
directions along any given branch.
• Logical Link Control: It deals with protocols, flow-control, and error control
• Media Access Control: It deals with actual control of media
• Framing
• Addressing
• Error Control
• Flow Control
5.2 Framing
Framing is a point-to-point connection between two computers or devices consisting of a wire
in which data is transmitted as a stream of bits. However, these bits must be framed into
discernible blocks of information.
Framing is a function of the data link layer. It provides a way for a sender to transmit a set of
bits that are meaningful to the receiver. Frames have headers that contain information such as
error-checking codes.
At the data link layer, it extracts the message from the sender and provides it to the receiver by
providing the sender’s and receiver’s addresses.
The process of dividing the data into frames and reassembling it is transparent to the user and
is handled by the data link layer.
Framing is an important aspect of data link layer protocol design because it allows the
transmission of data to be organized and controlled.
• Frame Header − It contains the source and the destination addresses of the frame.
• Payload field − It contains the message to be delivered.
• Trailer − It contains the error detection and error correction bits.
• Flag − It marks the beginning and end of the frame.
Types of framing
1. Fixed-size: The frame is of fixed size and there is no need to provide boundaries to the
frame, the length of the frame itself acts as a delimiter.
Drawback: It suffers from internal fragmentation if the data size is less than the
frame size
Solution: Padding
2. Variable size: The size of the frame is variable during this form of framing. In variable-size
framing, we are in need of a way to outline the tip of the frame and also the starting of the
succeeding frame. This can be utilized in local area networks (LAN).
2.1 Length field–To confirm the length of the field, a length field is used. It is utilized in
Ethernet (1EEE 802.3).
2.2 End Delimeter–To confirm the size of the frame, a pattern is worn as a delimiter. This
methodology is worn in the token ring. In short, it is referred to as ED. Two different methods
are used to avoid this condition if the pattern happens within the message.
Most protocols use a special 8-bit pattern flag 01111110 as a result of the delimiter to
stipulate the beginning and so the end of the frame. Bit stuffing is completed at the
sender end and bit removal at the receiver end.
If we have a tendency to get a zero(0) after 5 1s. we have a tendency to tend to still
stuff a zero(0). The receiver will remove the zero. Bit stuffing is in addition said as bit
stuffing.
Byte stuffing is one of the methods of adding an additional byte once there is a flag or
escape character within the text. Take an illustration of byte stuffing as appeared in the
given diagram.
The sender sends the frame by adding three additional ESC bits and therefore the
destination machine receives the frame and it removes the extra bits to convert the
frame into an identical message.
Flow control is a set of procedures that restrict the amount of data a sender should send
before it waits for some acknowledgment from the receiver.
Stop-and-wait Protocol
Stop-and-wait protocol works under the assumption that the communication channel is
noiseless and transmissions are error-free.
Working :
The sliding window protocol is the flow control protocol for noisy channels that allows the
sender to send multiple frames even before acknowledgments are received. It is called a Sliding
window because the sender slides its window upon receiving the acknowledgments for the sent
frames.
Working:
• The sender and receiver have a “window” of frames. A window is a space that
consists of multiple bytes. The size of the window on the receiver side is always 1.
• Each frame is sequentially numbered from 0 to n - 1, where n is the window size at
the sender side.
• The sender sends as many frames as would fit in a window.
• After receiving the desired number of frames, the receiver sends an acknowledgment.
The acknowledgment (ACK) includes the number of the next expected frame.
Error control in data link layer is the process of detecting and correcting data frames that have
been corrupted or lost during transmission.
In case of lost or corrupted frames, the receiver does not receive the correct data-frame and
sender is ignorant about the loss. Data link layer follows a technique to detect transit errors and
The error control mechanism in data link layer involves the following phases −
• A timeout counter is maintained by the sender, which is started when a frame is sent.
• If the sender receives acknowledgment of the sent frame within time, the sender is
confirmed about successful delivery of the frame. It then transmits the next frame in
queue.
• If the sender does not receive the acknowledgment within time, the sender assumes
that either the frame or its acknowledgment is lost in transit. It then retransmits the
frame.
• If the sender receives a negative acknowledgment, the sender retransmits the frame.
Go-Back-N ARQ
• Both the sender and the receiver have buffers called sending window and receiving
window respectively.
• The sender sends multiple frames based upon the sending-window size, without
receiving the acknowledgment of the previous ones.
• The receiver also receives multiple frames within the receiving window size.
• The receiver keeps track of incoming frame’s sequence numbers, buffers the frames in
memory.
• It sends ACK for all successfully received frames and sends NACK for only frames
which are missing or damaged.
• The sender in this case, sends only packet for which NACK is received.
SDLC:
SDLC stands for synchronous data link control protocol, is a communication protocol of a
computer.
It is usually used to carry system network architecture traffic. Synchronous data link protocol
connects all the remote devices to the mainframe computer at the Central location.
SDLC support one to many connections even in case of error detection or error recovery.
SDLC ensures that all the received data units are correct and flow is right from one network
point to the next network point.
HDLC:
HDLC stands for High-level data link control protocol, is a bit-orientated code transparent
synchronous protocol developed by ISO (International organization for standardization)
in1979.
It is based on the SDLC protocol that supports both point-to-point and multipoint
communication.
HDLC frames are transferred over synchronous or asynchronous serial communication links.
HDLC uses various modes such as normal response mode, asynchronous response mode,
asynchronous balanced mode.
Normal response mode is used to share the secondary to primary link without contention.
asynchronous response mode is used for full-duplex links. asynchronous balanced mode,
support combined terminal which can act as both primary and secondary.
SLIP:
SLIP stands for Serial line interface protocol which is used to add framing byte at the end of
the IP Packet. SLIP is a data link layer protocol That transforms the IP packets among ISP
(Internet Service Providers) and home user over dial-up links.
SLIP is designed to work with ports and router connections. SLIP does not provide error
detection, being reliant on upper-layer protocols for this. Therefore, SLIP on its own is not
satisfactory over an error-prone dial-up connection.
PPP:
PPP stands for Point to point protocol. PPP is a data link layer protocol that provides the
same services as the Serial line interface protocol.
It is a robust protocol that transfers the other types of pockets also with the IP packets. It
provides two protocols LCP and NCP, that we will discuss in the next section. Point to point
protocol uses framing methods that describe the frames.
Point to point protocol is also called character orientated protocol which is used to detect errors.
PPC provides Connection authentication, data compression, encryption, and transmission. It is
LCP:
LCP stands for Link control protocol, is a part of point-to-point control protocol. LCP packets
determine the standards of data transmission.
LCP protocol is used to determine the identity of the linked devices, if the device is correct it
accepts it otherwise it rejects the device.
It also determines whether the size of the packet is accepted or not. If requirements exceed
the parameters, then the link control protocol terminates that link.
LAP:
LAP stands for Link access procedure is a data link layer protocol that is used for framing
and transfer the data across point-to-point links.
There are three types of Link access procedure – LAPB ( Link Access procedure balanced),
LAPF ( Link Access Procedure Frame-Mode Bearer Services), and LAPD (Link Access
Procedure D-Channel.
LAP was originally derived from HDLC (High-Level Data Link Control), but was later
updated and renamed LAPB (LAP Balanced).
NCP:
NCP stands for Network control protocol, is a part of the point-to-point protocol. The network
control protocol is used to negotiate the parameter and facilities for the network layer.
For every higher-layer protocol supported by PPP, one NCP is there. IPCP ( Internet Protocol
control protocol), DNCP (DECnet Phase IV Control Protocol), OSINLCP (OSI Network Layer
Control Protocol), IPXCP (Internetwork Packet Exchange Control Protocol), NBFCP
(NetBIOS Frames Control Protocol), IPV6CP (IPv6 Control Protocol) are some of the NCPs.
5.6 HDLC
High-level Data Link Control (HDLC) is a group of communication protocols of the data link
layer for transmitting data between network points or nodes. Since it is a data link protocol,
data is organized into frames. A frame is transmitted via the network to the destination that
verifies its successful arrival. It is a bit - oriented protocol that is applicable for both point - to
- point and multipoint communications.
Transfer Modes
HDLC supports two types of transfer modes, normal response mode and asynchronous
balanced mode.
Asynchronous Balanced Mode (ABM) − Here, the configuration is balanced, i.e. each
station can both send commands and respond to commands. It is used for only point - to -
point communications.
HDLC Frame
HDLC is a bit - oriented protocol where each frame contains up to six fields. The structure
varies according to the type of frame. The fields of a HDLC frame are −
• Flag − It is an 8-bit sequence that marks the beginning and the end of the frame. The
bit pattern of the flag is 01111110.
• Address − It contains the address of the receiver. If the frame is sent by the primary
station, it contains the address(es) of the secondary station(s). If it is sent by the
secondary station, it contains the address of the primary station. The address field may
be from 1 byte to several bytes.
• Control − It is 1 or 2 bytes containing flow and error control information.
• Payload − This carries the data from the network layer. Its length may vary from one
network to another.
• FCS − It is a 2 byte or 4 bytes frame check sequence for error detection. The standard
code used is CRC (cyclic redundancy code)
PPP Frame
PPP is a byte - oriented protocol where each field of the frame is composed of one or more
bytes. The fields of a PPP frame are −
• Flag − 1 byte that marks the beginning and the end of the frame. The bit pattern of the
flag is 01111110.
• Address − 1 byte which is set to 11111111 in case of broadcast.
• Control − 1 byte set to a constant value of 11000000.
• Protocol − 1 or 2 bytes that define the type of data contained in the payload field.
MAC address or media access control address is a unique identifier allotted to a network
interface controller (NIC) of a device. It is used as a network address for data transmission
within a network segment like Ethernet, Wi-Fi, and Bluetooth. MAC address is assigned to a
network adapter at the time of manufacturing. It is hardwired or hard-coded in the network
interface card (NIC). A MAC address comprises of six groups of two hexadecimal digits,
separated by hyphens, colons, or no separators. An example of a MAC address is
00:0A:89:5B:F0:11.
5.8.3 ALOHA:
ALOHA is a system for coordinating and arbitrating access to a shared communication
Networks channel. A shared communication system like ALOHA requires a method of
handling collisions that occur when two or more systems attempt to transmit on the channel at
the same time. Aloha means "Hello". Aloha is a multiple access protocol at the datalink layer
and proposes how multiple terminals access the medium without interference or collision.
Pure ALOHA
• In pure ALOHA, the stations transmit frames whenever they have data to send.
• When two or more stations transmit simultaneously, there is collision and the frames are
destroyed.
• In pure ALOHA, whenever any station transmits a frame, it expects the acknowledgement
from the receiver.
• If acknowledgement is not received within specified time, the station assumes that the frame
(or acknowledgement) has been destroyed.
If the frame is destroyed because of collision the station waits for a random amount of time
and sends it again. This waiting time must be random otherwise same frames will collide
again and again.
• Therefore pure ALOHA dictates that when time-out period passes, each station must wait
for a random amount of time before resending its frame. This randomness will help avoid
more collisions.
• Whenever two frames try to occupy the channel at the same time, there will be a collision
and both will be damaged. If first bit of a new frame overlaps with just the last bit of a frame
almost finished, both frames will be totally destroyed and both will have to be retransmitted.
Slotted ALOHA
• Slotted ALOHA was invented to improve the efficiency of pure ALOHA as chances of
collision in pure ALOHA are very high.
• In slotted ALOHA, the time of the shared channel is divided into discrete intervals called
slots. The stations can send a frame only at the beginning of the slot and only one frame is
sent in each slot.
• In slotted ALOHA, if any station is not able to place the frame onto the channel at the
beginning of the slot i.e. it misses the time slot then the station has to wait until the beginning
of the next time slot.
• In slotted ALOHA, there is still a possibility of collision if two stations try to send at the
beginning of the same time slot as shown in fig.
Standard Ethernet has many physical layer implementations. The four main physical layer
implementations are shown in the following diagram
• Although there are several types of optical fiber 10-Mbps Ethernet, the most
common is called 10Base-F.
• 10Base-F uses a star topology to connect stations to a hub.
• The stations are connected to the hub using two fiber-optic cables.
5.10 CSMA/CD
Carrier Sense in CSMA/CD means that all the nodes sense the medium to check whether it
is idle or busy.
• If the carrier sensed is idle, then the node transmits the entire frame.
• If the carrier sensed is busy, the transmission is postponed.
Collision Detect means that a node listens as it transmits and can therefore detect when a
frame it is transmitting has collided with a frame transmitted by another node.
• The non-persistent 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.
Persistent Strategy
1-Persistent :
• This method has the highest chance of collision because two or more stations may find the
line idle and send their frames immediately.
P-Persistent :
• In this method, after the station finds the line idle it follows these steps:
• With probability p, the station sends its frame.
• With probability q = 1 − p, the station waits for the beginning of the next time slot and
checks the line again.
• The p-persistent method 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 advantages of the other two strategies. It reduces
the chance of collision and improves efficiency
EXPONENTIAL BACK-OFF
• Once an adaptor has detected a collision and stopped its transmission, it waits a certain
amount of time and tries again.
• Each time it tries to transmit but fails, the adaptor doubles the amount of time
• Protocol VLAN − Here, the traffic is handled based on the protocol used. A switch or
bridge segregates, forwards or discards frames the come to it based upon the traffics
protocol.
• Port-based VLAN − This is also called static VLAN. Here, the network
administrator assigns the ports on the switch / bridge to form a virtual network.
• Dynamic VLAN − Here, the network administrator simply defines network
membership according to device characteristics.
Analog data refers to data that is of continuous format whereas digital data is one which has
discrete states. So the analog data takes continuous values and digital data takes discrete
values. Analog data can be directly converted into an analog signal or sampled and converted
to digital signal. In quite a similar fashion digital data can also be converted to digital signal
or into analog signal after modulation. These are converted so that efficient transmission can
take place.
Similar to data, the signals which represent these can also be digital or analog. Analog signals
are known to have many levels of intensity over a given period of time. As the wave moves
from one value to another, along the path it traverses via infinite number of values. Digital
signals rather have only definite set of values. These are represented using a pair of
perpendicular axes. The vertical axis represents the strength of the signal and the horizontal
axis gives the time period.
• High Speed
• Secure
• Used for comparatively shorter distances
• ⇢ Least expensive
• ⇢ Easy to install
• ⇢ High-speed capacity
Disadvantages:
Applications:
Advantages:
⇢ Eliminates crosstalk
⇢ Comparatively faster
Disadvantages:
⇢ More expensive
⇢ Bulky
• High Bandwidth
• Better noise Immunity
• Easy to install and expand
• Inexpensive
Disadvantages:
Advantages:
Disadvantages:
(iv) Stripline
(v) Microstripline
In this, the conducting material is separated from the ground plane by a layer of dielectric.
2. Unguided Media:
It is also referred to as Wireless or Unbounded transmission media. No physical medium is
required for the transmission of electromagnetic signals.
(ii) Microwaves –
It is a line of sight transmission i.e. the sending and receiving antennas need to be properly
aligned with each other. The distance covered by the signal is directly proportional to the
height of the antenna. Frequency Range:1GHz – 300GHz. These are majorly used for mobile
phone communication and television distribution.
(iii) Infrared –
Infrared waves are used for very short distance communication. They cannot penetrate
through obstacles. This prevents interference between systems. Frequency Range:300GHz –
400THz. It is used in TV remotes, wireless mouse, keyboard, printer, etc.
5.13.3 Switching
In large networks, there can be multiple paths from sender to receiver. The switching
technique will decide the best route for data transmission.
Switching technique is used to connect the systems for making one-to-one communication.
Circuit Switching
• Circuit establishment
• Data transfer
• Circuit Disconnect
The incoming and outgoing signals when received and re-transmitted in a different time
slot, is called Time Division Switching.
Message Switching
Packet 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.