End Sem Communication Network
End Sem Communication Network
Presented By
Tejswini K Lahane
[email protected]
1
Outline
• Telephone networks
• ISDN
• SS7
• SONET and SDH
• Frame Relay and ATM
Network Layer: Delivery, Forwarding and Routing
• Delivery refers to the way a packet is handled by the underlying networks under the control of the network layer.
• Routing refers to the way routing tables are created to help in forwarding.
Routing
Routing refers to the process of directing a data packet from one node to another
A host or a router has a routing table with an entry for each destination, or a combination of destinations, to route IP packets.
Unicast routing
• A dynamic routing table is updated periodically by using one of the dynamic routing
protocols such as RIP, OSPF, BGP.
Intra- and Interdomain Routing
Today, an internet can be so large that one routing protocol cannot handle the task of updating the routing tables of all routers. For
this reason, an internet is divided into autonomous systems. An autonomous system (AS) is a group of networks and routers
under the authority of a single administration. Routing inside an autonomous system is referred to as intradomain routing.
Routing between autonomous systems is referred to as interdomain routing. Each autonomous system can choose one or more
intradomainrouting protocols to handle routing inside the autonomous system. However, only one interdomain routing protocol
handles routing between autonomous systems
• Routing Information Protocol (RIP) is an implementation of the distance vector protocol.
• Open Shortest Path First (OSPF) is an implementation of the link state protocol.
• Border Gateway Protocol (BGP) is an implementation of the path vector protocol.
Distance Vector Routing
• In distance vector routing, the least-cost route between any two nodes is the route
with minimum distance.
• In this protocol, as the name implies, each node maintains a vector (table) of
minimum distances to every node.
• In this type of routing protocol, all the nodes that are a part of the network advertise
their routing table to their adjacent nodes (nodes that are directly connected) at
regular intervals.
• With each router getting updated at regular intervals, it may take time for all the
. nodes to have the same accurate network view.
• Uses fixed length sub-net, not suitable for scaling.
•Distance-vector routing protocols use the Bellman–Ford algorithm to calculate the
best route
The Routing Information Protocol (RIP)
Link State Routing is another type of dynamic routing protocol in which routes advertise their updated routing
tables only when some new updates are added. This results in the effective use of bandwidth. All the routers keep
exchanging information dynamically regarding different links such as cost and hop count to find the best possible
path.
•Uses a variable length subnet mask, which is scalable and uses addressing more effectively.
2.Bandwidth Consumption: Bandwidth is the ability of a network to transmit data typically measured in Kbps
(Kilobits per second), Mbps (Megabits per second), or Gbps (Gigabits per second). The bandwidth depends on
several factors such as - the volume of data, traffic on a network, network speed, etc. Routing decision is made in
a way to ensure efficient bandwidth consumption.
3.Delay: Delay is the time it takes for a data packet to travel from the source node to its destination node. There
are different types of delay such as - propagation delay, transmission delay, and queuing delay.
4.Load: Load refers to the network traffic on a certain path in the context of routing. A data packet will be routed to
the path with a lesser load so that it reaches its destination in the specified time.
5.Reliability: Reliability refers to the assured delivery of the data packet to its intended destination although there
are certain other factors, the data packet is routed in such a way that it reaches its destination. The stability and
availability of the link in the network are looked over before routing the data packet from a specific path.
Dijkstra Algorithm
OSPF
The Open Shortest Path First or OSPF protocol is an intradomain routing protocol based on link state routing.
Its domain is also an autonomous system. Areas To handle routing efficiently and in a timely manner,
A transient link is a network with several routers attached to it. The data can enter through any of the routers and leave through
any router. All LANs and some WANs withtwo or more routers are of this type
When the link between two routers is broken, the administration may create a
virtual link between them, using a longer path that probably goes through several
routers.
Path vector routing:-
Path vector routing proved to be useful for interdomain routing.
• The principle of path vector routing is similar to that of distance vector routing.
• In path vector routing, we assume that there is one node in each autonomous system that acts on behalf of the entire
autonomous system.
• Let us call it the speaker node. The speaker node in an AS creates a routing table and advertises it to speaker nodes in the
neighboring ASs.
• The idea is the same as for distance vector routing except that only speaker nodes in each AS can communicate with each
other. However, what is advertised is different. A speaker node advertises the path, not the metric of the nodes, in its
autonomous system or other autonomous systems.
Optimum path.
We are looking for a path to a destination that is the best for the organization that runs the autonomous
system.
We definitely cannot include metrics in this route because each autonomous system that is included in the path may use a
One system may use, internally, RIP, which defines hop count as the metric; another may use OSPF with minimum delay
In our previous figure, each autonomoussystem may have more than one path to a destination. For example, a path from
we chose the one that had the smaller number of autonomous systems, but this is
Border Gateway Protocol (BGP) – The Internet’s Routing Backbone
Border Gateway Protocol (BGP) is the routing protocol used to exchange routing information between different
Autonomous Systems (AS) on the Internet. It is known as a path-vector protocol and is essential for the operation of the
global Internet.
•The Internet is a collection of multiple networks controlled by different organizations, called Autonomous Systems (AS).
•Internal routing protocols (like OSPF, RIP) work within an AS but cannot manage routing between different ASes.
•BGP allows different ASes to communicate and find the best paths for data packets.
shortest path routing algorithms
1.Bellman–Ford algorithm
The Bellman-Ford algorithm is used to find the shortest path from a single source vertex to all other vertices in a
weighted graph. It works even with negative weight edges and can detect negative weight cycles.
shortest path routing algorithm
2.Dijkstra’s algorithm
• Dijkstra’s algorithm is an alternative algorithm for finding the shortest paths from a source node to all other
nodes in a network. It is generally more efficient than the Bellman-Ford algorithm but requires each link cost
to be positive, which is fortunately the case in communication networks.
• Dijkstra’s algorithm is to keep identifying the closest nodes from the source node in order of
increasing path cost. The algorithm is iterative.
• At the first iteration the algorithm finds the closest node from the source node, which must be the
neighbor of the source node if link costs are positive.
• At the second iteration the algorithm finds the second-closest node from the source node. This node
must be the neighbor of either the source node or the closest node to the source node; otherwise,
there is a closer node.
• At the third iteration the third-closest node must be the neighbor of the first two closest nodes, and
so on.
• Thus at the kth iteration, the algorithm will have determined the k closest nodes from the source
node.
Feature Dijkstra's Algorithm Bellman-Ford Algorithm
Finds the shortest path from a single
Finds the shortest path from a single
Purpose source and detects negative weight
source.
cycles.
Works With Only positive weights. Both positive and negative weights.
Large graphs with only positive Graphs with negative weights (e.g.,
Best Used For
weights (e.g., GPS, networks). financial graphs, loss minimization).
Greedy algorithm (picks the best Dynamic programming (tries all paths
Algorithm Type
option at each step). and updates costs).
Negative Weight Handling Cannot handle negative weights. Handles negative weights.
Weighted directed and undirected
Works on Weighted directed graphs.
graphs.
Finding the fastest route on Google Stock price prediction where losses
Example Use Case
Maps. (negative weights) matter.
Unicast and multicast routing
• Broadcasting
• In broadcast communication, the relationship between the source and the destination is
• one-to-all. There is only one source, but all the other hosts are the destinations. The
• Internet does not explicitly support broadcasting because of the huge amount of traffic it would create and
because of the bandwidth it would need. Imagine the traffic generated
• in the Internet if one person wanted to send a message to everyone else connected
• to the Internet.
Why Do We Need Multicast Routing?
In multicast routing, each involved router needs to construct a shortest path tree for each group.
Forwarding of a single packet to members of a group requires shortest path tree. If we have
n groups, we may need n shortest path trees. We can imagine
the complexity of multicast routing. Two approaches have been used to solve the problem:
source-based trees and group-shared trees.
Source-Based Tree-In the source-based tree approach, each router needs to have one shortest path tree for each group.
Group-Shared Tree. In the group-shared tree approach, instead of each router having m shortest path trees, only one
designated router, called the center core, rrendezvous router, takes the responsibility of distributing multicast traffic. The
corehas m shortest path trees in its routing table. The rest of the routers in the domain have none. If a router receives a
multicast packet, it encapsulates the packet in a unicast
packet and sends it to the core router.
Flooding shortest path routing algorithm
CRT
The Core-Based Tree (CBT) protocol is a group-shared protocol that uses a core as
the root of the tree. The autonomous system is divided into regions, and a core (center
router or rendezvous router) is chosen for each region.
PIM (Protocol Independent DVMRP (Distance Vector
Feature CBT (Core-Based Tree) MOSPF (Multicast OSPF)
Multicast) Multicast Routing Protocol)
Type Tree-Based Multicast Tree-Based Multicast Distance Vector Multicast Link-State Multicast
Loop Prevention Uses RPF Prevents Loops Uses RPF to Avoid Loops OSPF Mechanism
Scalability Highly Scalable Scales Well Limited to Small Networks Limited to OSPF Domains
Corporate video
Streaming live sports events Old MBONE (Multicast Multicasting stock market
conferencing (e.g., Webex,
Real-World Example on YouTube or Netflix using Backbone) network used for data updates within a bank’s
Zoom) where a central
IP Multicast early multicast experiments internal network
server is used
Transport Layer: TCPand UDP
• The transport layer is responsible for process-to-process delivery-the delivery of a packet, part of a message,
from one process to another.
• Two processes communicate in a client/server relationship
• Both processes (client and server) have the same name
• three protocols at the transport layer: UDP, TCP, and SCTP.
• A transport layer protocol can either be connectionless or connection-oriented.
• UDP, is connectionless.
• TCP and SCTP are connection oriented
USER DATAGRAM PROTOCOL (UDP)
A checksum is a value used to verify the integrity of data during transmission or storage. It is a small, fixed-size
numerical value derived from a block of data using a checksum algorithm. The sender calculates the checksum and
transmits it along with the data, and the receiver recalculates it to check for errors.
•Parity Bit: A simple method that adds a single bit for error detection.
•CRC (Cyclic Redundancy Check): Used in networking and storage devices.
•MD5 (Message Digest Algorithm 5): Produces a 128-bit hash value.
•SHA (Secure Hash Algorithm): More secure, used in cryptographic applications.
The UDP checksum calculation is different from the one for IP and ICMP.
Here the checksum includes three sections: a pseudoheader, the UDP header,
and the data
coming from the application layer.
Transmission Control Protocol (TCP).
• TCP is a connectionoriented protocol; it
creates a virtual connection between two
TCPs to send data.
• TCP uses flow and error control mechanisms
at the transport level.
• In brief, TCP is called a connection-oriented,
reliable transport protocol. It adds
connection-oriented and reliability features to
the services of IP.
•TCP is stream-oriented, meaning data is sent as a continuous stream of bytes.
•UDP is message-oriented, where predefined messages (user datagrams) are sent individually.
•UDP adds a header to each message and sends it as an independent IP datagram.
•Neither IP nor UDP maintains relationships between datagrams.
•TCP simulates a continuous connection between sender and receiver, like an imaginary "tube."
•The sending process writes to the byte stream, while the receiving process reads from it.
• Sending and Receiving Buffers :
• Because the sending and the receiving processes may not write or read data at the same speed, TCP needs
buffers for storage.
• There are two buffers, the sending buffer and the receiving buffer, one for each direction.
• Buffers support flow and error control, ensuring reliable transmission.
• Circular arrays are commonly used for buffer implementation.
• Buffer sizes vary, typically ranging from hundreds to thousands of bytes.
• The sending and receiving buffers may have different sizes, depending on the system's implementation.
• One way to implement a buffer is to use a circular array of I-byte locations as
• shown in Figure 23.14. For simplicity, we have shown two buffers of 20 bytes each;
• TCP uses segments to send data, as IP requires packets, not a byte stream.
• A segment is a group of bytes from the sending buffer, with a TCP header added.
• Segments are encapsulated in IP datagrams for transmission.
• The process is transparent to the receiving application.
• Segments may arrive out of order, be lost, or get corrupted.
• TCP handles retransmission and ordering, ensuring reliable delivery.
TCP Features
TCP has several features.
1. Numbering System
• CP tracks transmitted and received segments but does not use segment numbers.
• No segment number field exists in the TCP header. Instead, there are two fields called the sequence number and the
acknowledgment number.
• These two ields refer to the byte number and not the segment number.
2. Byte Number :TCP numbers all data bytes that are transmitted in a connection. Numbering
is independent in each direction. When TCP receives bytes of data from a process, it stores them in the sending buffer and
numbers them. The numbering does not necessarily start from O. Instead, TCP generates a random number between 0 and 232 -
1 for the number of the first byte. For example, if the random number happens to be 1057 and the total
data to be sent are 6000 bytes, the bytes are numbered from 1057 to 7056. byte numbering is used for flow and error control.
The bytes of data being transferred in each connection are numbered by TCP.
The numbering starts with a randomly generated number.
3. Sequence Number After the bytes have been numbered, TCP assigns a sequence number to each segment that is being sent. The
sequence number for each segment is the number of the first byte carried in that segment.
4. Acknowledgment number confirms receipt and specifies the next expected byte.
Cumulative acknowledgment: Ensures all bytes up to the given number are received.Example: If acknowledgment number is
5643, all bytes up to 5642 are successfully received.
Flow Control
TCP, unlike UDP, provides flow control. The receiver of the data controls the amount of data that are to be sent by the sender.
This is done to prevent the receiver from being overwhelmed with data. The numbering system allows TCP to use a byte-
oriented flow control.
Error Control
To provide reliable service, TCP implements an error control mechanism. Although
error control considers a segment as the unit of data for error detection (loss or corrupted
segments), error control is byte-oriented
Congestion Control
TCP, unlike UDP, takes into account congestion in the network. The amount of data sent
by a sender is not only controlled by the receiver (flow control), but is also detennined by the level of congestion in the
network.
Congestion occurs when too many packets are present in the network, exceeding its capacity. This results
in delays, packet loss, and reduced performance.
1. Retransmission Policy
Retransmission is sometimes unavoidable. If the sender feels that a sent packet is lost
or corrupted, the packet needs to be retransmitted. Retransmission in general may
increase congestion in the network. However, a good retransmission policy can prevent
congestion.
The retransmission policy and the retransmission timers must be designed
to optimize efficiency and at the same time prevent congestion. For example, the
retransmission policy used by TCP is designed to prevent or alleviate
congestion.
2.Window Policy
The type of window at the sender may also affect congestion. The Selective Repeat window
is better than the Go-Back-N window for congestion control. In the Go-Back-N window,
when the timer for a packet times out, several packets may be resent, although some may
have arrived safe and sound at the receiver. This duplication may make the
congestion worse. The Selective Repeat window, on the other hand, tries to send the specific
packets that have been lost or corrupted.
3.Acknowledgment Policy
The acknowledgment policy imposed by the receiver may also affect congestion. If the
receiver does not acknowledge every packet it receives, it may slow down the sender
and help prevent congestion. Several approaches are used in this case. A receiver may
send an acknowledgment only if it has a packet to be sent or a special timer expires. A
receiver may decide to acknowledge only N packets at a time. We need to know that
the acknowledgments are also part of the load in a network. Sending fewer
acknowledgmentsmeans imposing less load on the network.
4. Discarding Policy
A good discarding policy by the routers may prevent congestion and at the same time
may not harm the integrity of the transmission. For example, in audio transmission, if
the policy is to discard less sensitive packets when congestion is likely to happen, the
quality of sound is still preserved and congestion is prevented or alleviated.
5.Admission Policy
An admission policy, which is a quality-of-service mechanism, can also prevent
congestion
in virtual-circuit networks. Switches in a flow first check the resource requirement
of a flow before admitting it to the network. A router can deny establishing a
virtualcircuit
connection if there is congestion in the network or if there is a possibility of future
congestion.
Key Mechanism:
• Admission Control
• Policing
• Traffic Shaping
• Traffic Scheduling
Admission Control
• Admission control is open loop preventive scheme
• Admission control refers to the mechanism used by a router, or a switch, to accept or reject a flow based on
predefined parameters called flow specifications.
• Before a router accepts a flow for processing, it checks the flow specifications to see if its capacity (in terms of
bandwidth, buffer size, CPU speed, etc.) and its previous commitments to other flows can handle the new flow.
• It determine whether the network can handle the new traffic without compromising Quality of Service
•Working Principle:
•Data packets enter the bucket irregularly (like water poured randomly).
•The bucket has a fixed leak rate (steady packet output).
•If the bucket overflows, excess packets are discarded (prevents congestion).
•Key Features:
•Ensures a smooth, constant data transmission rate.
•Prevents sudden bursts of data that could overwhelm the network.
•Works as a traffic policing mechanism to enforce bandwidth limits.
•Analogy:
•Water = Incoming network packets.
•Bucket = Buffer or queue to hold packets.
•Hole at the bottom = Regulated packet transmission rate.
•Overflow = Packet loss when traffic exceeds capacity.
Leaky Bucket Algorithm
The input rate can vary but the output rate remains
constant. Similarly, in networking, a technique called leaky
bucket can smooth out bursty traffic. Bursty chunks are
stored in the bucket and sent out at an average rate.
1.Backpressure
The technique of backpressure refers to a congestion control mechanism in which a
congested node stops receiving data from the immediate upstream node or nodes. This
may cause the upstream node or nodes to become congested, and they, in turn, reject
data from their upstream nodes or nodes. And so on. Backpressure is a node-to-node
congestion control that starts with a node and propagates, in the opposite direction of
data flow, to the source. The backpressure technique can be applied only to virtual circuit
networks, in which each node knows the upstream node from which a flow of data is
corning. Figure 24.6 shows the idea of backpressure.
2,Choke Packet
4.Explicit Signaling
The node that experiences congestion can explicitly send a signal to the source or
destination.
The explicit signaling method, however, is different from the choke packet
method. In the choke packet method, a separate packet is used for this purpose; in the
explicit signaling method, the signal is included in the packets that carry data. Explicit
signaling, as we will see in Frame Relay congestion control, can occur in either the
forward or the backward direction.
Backward Signaling: A bit can be set in a packet moving in the direction
opposite
to the congestion. This bit can warn the source that there is congestion and
that it needs
to slow down to avoid the discarding of packets.
Forward Signaling :A bit can be set in a packet moving in the direction of the
congestion. This bit can warn the destination that there is congestion. The
receiver in
this case can use policies, such as slowing down the acknowledgments, to
alleviate the i
congestion.
Congestion Control in TCP:
TCP uses a closed-loop congestion control mechanism to dynamically adjust
its transmission rate based on network conditions.
Congestion Window policy
The sender has two pieces of information: the receiver-advertised window size and
the congestion window size. The actual size of the window is the minimum of these two.
Actual window size= minimum (rwnd, cwnd)
The receiver window (rwnd) is the value advertised by the opposite end in a segment containing
acknowledgment. It is the number of bytes the other end can accept before its buffer overflows and data
are discarded
The congestion window (cwnd) is a value determined by the network to avoid congestion.
TCP has mechanism for congestion control.
This mechanism is applied at sender
The key mechanisms in TCP congestion control include:
1.Slow Start: Starts with a small congestion window (CWND) and increases exponentially.
The Domain Name System (DNS) is a critical part of the Internet that translates
human-readable domain names (e.g., www.google.com) into machine-readable
IP addresses (e.g., 142.250.183.206). Without DNS, users would have to
memorize complex numerical IP addresses for every website they visit.
Initially, a host file was used for mapping names to IP addresses, but as
the internet grew, maintaining a single host file became impractical.DNS
was introduced as a scalable and decentralized system for name
resolution.
•There are two types of name spaces:
•Flat Name Space – Simple names with no hierarchical structure (not scalable).
•Hierarchical Name Space – Names are organized in levels (e.g.,
•www.example.com).
Label
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 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. Figure 25.3 shows some
domain names.
Fully Qualified Domain Name (FQDN)
•A Fully Qualified Domain Name (FQDN) is a complete domain name that uniquely identifies a
host on the internet.
•It contains all labels, from the most specific (hostname) to the most general (root).
•The name must end with a null label, represented by a dot (.) at the end.
•Example: challenger.atc.tbda.edu.
•challenger → Hostname
•atc → Subdomain (Advanced Technology Center)
•tbda → Subdomain of edu
•edu → Top-Level Domain (TLD)
•. → Root
•A DNS server can only match an FQDN to an IP address for resolution.
Partially Qualified Domain Name (PQDN)
•A Partially Qualified Domain Name (PQDN) does not include the full hierarchy up to the root.
•It starts from a node but does not end at the root (.).
•Used when the name belongs to the same site as the client, allowing the resolver to add the
missing part (suffix).
•Example:
•A user at jhda.edu. types challenger
•The DNS resolver adds the suffix → challenger.atc.jhda.edu.
•DNS clients typically hold a list of suffixes to complete PQDNs into FQDNs automatically.
•The null suffix (.) is added when an FQDN is explicitly defined.
DNS Servers and Zones
•Root Servers: Handle requests for top-level domains.
•TLD Servers: Store records for each top-level domain (e.g.,
.com, .org).
•Authoritative Name Servers: Store records for specific
domains.
•Recursive Resolvers: Handle user queries and forward
requests if needed.
•Zones: A DNS server is responsible for a particular zone,
which is a portion of the domain name space
Zone in DNS
A DNS Zone is a part of the Domain Name System (DNS) that a specific DNS
server manages. Think of it like a section in a big address book, where one
group is responsible for handling certain addresses (domain names).
Inverse Domain
•Purpose: The Inverse Domain is used to map an IP address to a domain name
(reverse lookup).
•Use Case:
• A server receives a request from a client.
• The server has a list of authorized clients, but only their IP addresses are
stored.
• The server asks DNS to convert the IP address into a hostname to check
authorization.
How Inverse Domain Works
•Uses a special type of DNS query called a Pointer (PTR) query.
•The inverse domain is part of the domain name space with the arpa top-level domain.
•The second-level domain is called in-addr, which stands for inverse address lookup.
•The IP address is written in reverse order, followed by in-addr.arpa.
Example:
•Given IP address: 132.34.45.121 (Class B address, 132.34 is the network ID).
•Reverse lookup format: 121.45.34.132.in-addr.arpa.
1. Recursive Resolution
• The client (resolver) requests a recursive answer from a DNS server.
• The DNS server is responsible for finding the final answer for the client.
• If the server knows the answer, it responds immediately.
• If it does not know, it forwards the query to another server (usually a
parent server).
• This process continues until an authoritative DNS server provides the
correct answer.
• Once resolved, the answer travels back through the chain to the original
client.
• Advantage: The client does not need to contact multiple servers.
Disadvantage: Increases load on the DNS server.
2. Iterative Resolution
• The client requests information, but the DNS server does not fetch the
final answer.
• If the DNS server knows the answer, it responds.
• If it does not know, it gives the client the IP address of another DNS server
that might have the answer.
• The client is responsible for repeating the query to the next server.
• The process continues until the authoritative server provides the correct
answer.
• Advantage: Reduces load on individual DNS servers.
Disadvantage: The client must handle multiple queries.
3. Caching in DNS
• Caching improves DNS efficiency by storing previously resolved queries.
• When a DNS server gets a response, it stores the mapping in cache memory.
• If another client asks for the same query, the server provides the cached
answer instantly instead of querying again.
• Problem with caching:
• If the cached data becomes outdated, it may return an incorrect IP address.
Solution:
• DNS servers use Time-to-Live (TTL) for each cached record.
• TTL defines how long the DNS server can keep the information before
refreshing it.
• Once TTL expires, the DNS server must request fresh data from the
authoritative server.
When a user types www.example.com, the following steps occur:
Section Description
Contains important control information, including the
Header
number of queries and responses.
Question Holds the domain name the client is querying for.
Contains the resolved IP address or other DNS record
Answer
information.
Specifies the authoritative name server for the queried
Authority
domain.
Provides extra information, such as additional DNS
Additional
records that may help resolve the query.
3. DNS Message Header Format
The header is a 12-byte section present in both query and response
messages. It contains:
The User Agent (UA) is the software or application that allows users to compose, send, receive, and
read emails. It provides the interface between the user and the email system.
• Functions of User Agent:
Composing and sending emails
Receiving and reading emails
Managing inbox, drafts, and sent items
Attaching files to emails
Organizing messages (folders, labels, spam filtering)
Examples of User Agents:
• Web-based Email Clients: Gmail, Yahoo Mail, Outlook Web
• Desktop Email Clients: Microsoft Outlook, Mozilla Thunderbird, Apple Mail
2. Message Transfer Agent (MTA) – Email Server
The Message Transfer Agent (MTA) is responsible for transferring emails from the sender to the recipient. It operates
in the background and handles the actual email delivery process.
Functions of Message Transfer Agent:
Receives outgoing emails from the sender’s User Agent
Determines the recipient’s mail server
Transfers the email using SMTP (Simple Mail Transfer Protocol)
Stores emails temporarily if the recipient’s server is unavailable
Examples of Message Transfer Agents:
•Postfix
•Sendmail
•Microsoft Exchange Server
How It Works:
1.The sender writes an email in a User Agent (e.g., Gmail).
2.The email is sent to an SMTP server (part of the MTA).
3.The MTA forwards the email to the recipient’s mail server.
3. Message Access Agent (MAA) – Email Retrieval System
The Message Access Agent (MAA) allows users to retrieve and access their emails from the email server. It ensures
that emails are delivered from the recipient's mail server to their User Agent.
Functions of Message Access Agent:
Retrieves emails from the mail server
Supports protocols like POP3 (Post Office Protocol) and IMAP (Internet Message Access Protocol)
Manages the synchronization of emails across multiple devices
Protocols Used:
•POP3 (Post Office Protocol v3):
• Downloads emails from the server to the device
• Emails are deleted from the server after download
•IMAP (Internet Message Access Protocol):
• Emails remain stored on the server
• Allows access from multiple devices (smartphones, laptops, etc.)
Examples of Message Access Agents:
•Dovecot
•Cyrus IMAP Server
Mailing List
•A mailing list uses an alias to send messages to multiple recipients.
•When an email is sent to an alias, the system:
•Checks if a mailing list exists.
•Sends individual copies to each member.
•If no alias exists, the email is delivered normally.
•Example: Sending an email to [email protected] sends it to all team members.
Use FTP when authentication, security, and file management are required.
Use TFTP for fast, lightweight, and automatic file transfers (e.g., network booting).
WWW
WWW Architecture
• The World Wide Web (WWW) is a distributed system that provides access
to interconnected documents and resources via the Internet.
• Based on the client-server model where web browsers (clients) request
resources from web servers.
• Uses the Hypertext Transfer Protocol (HTTP/HTTPS) for communication.
• Web resources are identified by Uniform Resource Locators (URLs).
• Consists of three key components:
• Web Clients (Browsers) – Display web pages (e.g., Chrome, Firefox, Edge).
• Web Servers – Store and serve web pages (e.g., Apache, Nginx, IIS).
• Web Documents – Static (HTML, CSS) or dynamic (JavaScript, PHP).
Client (Browser)
• Web browsers are software applications that interpret and display web documents.
• Various commercial browsers exist, including Google Chrome, Mozilla Firefox, Microsoft Edge,
and Safari.
• Architecture of a Web Browser:
• Controller:
• Receives input from the keyboard or mouse.
• Uses client programs to access web documents.
• Client Protocol:
• Handles communication with web servers using protocols like HTTP, HTTPS, and FTP.
• Interpreters:
• Process different types of web content:
•
HTML Interpreter – Renders structured web pages.
Java Interpreter – Executes Java applets.
JavaScript Interpreter – Runs dynamic scripts for interactivity.
• The controller fetches the web document, the client protocol retrieves it, and the appropriate
interpreter renders the content.
Server
• The Web page is stored at the server.
• Each time a client request arrives, the corresponding document is sent to the client.
• To improve efficiency, servers store requested files in a cache in memory, as memory is faster to access than
disk.
• A server can become more efficient through multithreading or multiprocessing.
• With multithreading/multiprocessing, a server can handle multiple requests simultaneously.
Uniform Resource Locator (URL)
• A client that wants to access a Web page needs the address. To facilitate the access
of documents distributed throughout the world, HTTP uses locators. The uniform
resource locator (URL) is a standard for specifying any kind of information on the
Internet. The
• URL defines four things: protocol, host computer, port, and
pathprotocol://hostname:port/path?query_string#fragment
•Components of a URL:
1.Protocol: Specifies the communication method (e.g., HTTP, HTTPS,
FTP).
2.Hostname (Domain): Identifies the web server (e.g.,
www.example.com).
3.Port (Optional): Default is 80 for HTTP, 443 for HTTPS.
4.Path: Specifies the file location (e.g., /about.html).
5.Query String (Optional): Contains parameters for dynamic content
(?id=123).
6.Fragment (Optional): A specific section within a page (#section1).
Cookies
• Cookies are small pieces of data stored on a user's browser by a web server.
• Used to store user preferences, session data, and tracking information.
• Types of Cookies:
• Session Cookies: Temporary; deleted when the browser is closed.
• Persistent Cookies: Stored for a specified duration, even after closing the browser.
• Third-party Cookies: Set by external domains (used for ads & tracking).
• Common Uses of Cookies:
User authentication (e.g., remembering login details).
Personalizing user experience (e.g., language preferences).
Tracking user activity for analytics and targeted ads.
• Privacy Concerns:
Can be used for tracking user behavior without consent.
Some browsers block third-party cookies to enhance privacy.
Web Document
• A Web document is a digital file stored on a web server and accessed through a web
browser.
• Web documents are primarily written in HTML (Hypertext Markup Language) but
can also include other formats like CSS, JavaScript, images, and multimedia files.
• Web documents can be static (fixed content) or dynamic (content generated in real-
time using scripts or databases).
• A static web document is delivered to the user exactly as stored on the server.
• A dynamic web document is generated by a web application, often using languages
like PHP, JavaScript, or Python.
• Web documents are identified and accessed using a Uniform Resource Locator
(URL).
• A web document may include hyperlinks, allowing users to navigate to other pages
or resources on the web.
1. What is HTML?
HTML stands for Hypertext Markup Language. It is the basic language used to create webpages.
Think of HTML as the building blocks of a webpage, just like bricks are the building blocks of a
house.
• 2. Why is HTML Important?
Every webpage you see on the internet is built using HTML. It structures the content by defining
headings, paragraphs, images, links, and more.