MODULE-5 APPLICATION LAYER
1. Discuss in detail Client–Server Architecture and Peer-to-Peer Architecture
A. Client–Server Architecture
Definition:
Client–Server architecture is a network design model where multiple clients (users) request and
receive services from a centralized server.
Structure:
Working:
1. The client initiates communication by sending a request (e.g., HTTP request).
2. The server processes the request, performs the required task (e.g., retrieving a web page,
querying a database), and sends back a response.
3. The server is always-on and serves multiple clients simultaneously.
Examples:
• Web Applications: Browser (client) → Web Server (server)
• Email System: Outlook (client) → Mail Server
• Database System: Frontend app → Database server (like MySQL)
Advantages:
• Centralized management and control.
• Easier to maintain and update.
• Stronger security since data is managed centrally.
Disadvantages:
• Server is a single point of failure.
• Expensive to maintain due to high server requirements.
• Scalability can be limited by server capacity.
B. Peer-to-Peer (P2P) Architecture
Definition:
Peer-to-Peer (P2P) architecture is a distributed network model where each node (peer) acts as both
a client and a server.
There is no central authority — all peers share resources directly.
Structure:
Working:
1. Each peer can request data from others and also provide data to others.
2. When a peer joins, it contributes resources (like bandwidth, storage).
3. Examples include file-sharing networks and blockchain systems.
Examples:
• BitTorrent (file sharing)
• Blockchain (cryptocurrency networks)
• Skype (voice communication using P2P connections)
Advantages:
• No central server (more fault-tolerant).
• Highly scalable — more peers = more resources.
• Cost-effective since all peers share resources.
Disadvantages:
• Difficult to manage and secure.
• Data may be duplicated and less reliable.
• Performance can vary based on peer capacity.
Comparison:
Feature Client–Server Peer-to-Peer
Control Centralized Decentralized
Scalability Limited Highly scalable
Failure Impact Server failure affects all One peer failure has little impact
Cost Expensive Cost-effective
Security Easier to secure centrally Harder to control
Examples Web, Email, Database BitTorrent, Blockchain, Skype
In short:
• Client–Server: Centralized model, suitable for web and enterprise apps.
• P2P: Decentralized model, used in distributed sharing and blockchain.
2. Compare Non-Persistent and Persistent HTTP Connections
Introduction:
HTTP (Hyper Text Transfer Protocol) is the foundation of data communication on the web.
It defines how messages are formatted and transmitted between clients (browsers) and servers.
Types of HTTP Connections:
Type Description
Non-Persistent A new TCP connection is established for each request/response pair, then
HTTP closed immediately.
A single TCP connection is reused for multiple requests/responses, reducing
Persistent HTTP
overhead.
A. Non-Persistent HTTP Connection
Working:
1. Client sends a request → Server responds → Connection closes.
2. A new connection is created for each object (like image, CSS file, etc.).
Example:
To load a webpage with 3 images → 4 TCP connections are needed (1 HTML + 3 images).
Diagram:
Client Server
|----- Request 1 ------------>|
|<---- Response 1 ------------|
|----- Request 2 ------------>|
|<---- Response 2 ------------|
(Each request uses a new TCP connection)
Drawbacks:
• High overhead due to multiple TCP handshakes.
• Increased latency (slow loading).
B. Persistent HTTP Connection
Working:
1. A single TCP connection is established.
2. Multiple requests/responses are exchanged over this connection.
3. Connection remains open for future requests (unless explicitly closed).
Diagram:
Client Server
|----- Request 1 ------------>|
|<---- Response 1 ------------|
|----- Request 2 ------------>|
|<---- Response 2 ------------|
(Same TCP connection reused)
Advantages:
• Fewer TCP handshakes → Faster performance.
• Reduced network overhead.
• Better for loading web pages with multiple elements.
Comparison:
Feature Non-Persistent HTTP Persistent HTTP
TCP Connection One per request Single connection reused
Connection Overhead High Low
Performance Slower Faster
Latency High (due to setup time) Low
Resource Usage More Less
Example HTTP/1.0 HTTP/1.1 and above
In short:
• Non-Persistent: One connection per object → slower.
• Persistent: Reuse one connection for all objects → faster and efficient.
3. Construct General Format of HTTP Request and Response Message & Explain Various Fields
A. HTTP Request Message:General format
When a client (browser) requests a resource from a server, it sends an HTTP Request Message.
General Format:
<Method> <Request-URL> <HTTP-Version>
<Header-Fields>
(blank line)
[Message Body (optional)]
Example:
GET /[Link] HTTP/1.1
Host: [Link]
User-Agent: Mozilla/5.0
Accept-Language: en-US
Connection: keep-alive
Explanation of Fields:
Field Description
Request Line Contains method, resource, and version. Example: GET /[Link] HTTP/1.1
Specifies the action to perform:
- GET: Request a resource
Method - POST: Send data to server
- PUT: Upload a file
- DELETE: Remove a resource
Field Description
Request-URL The path to the requested resource (e.g., /[Link]).
HTTP-Version Specifies protocol version (e.g., HTTP/1.1).
Header Fields Provide additional information (metadata).
Common Headers Host, User-Agent, Accept, Content-Type, Connection.
Message Body Optional; used in POST and PUT to send data (e.g., form data, JSON).
B. HTTP Response Message General Format:
After processing the request, the server sends back an HTTP Response Message.
General Format:
<HTTP-Version> <Status-Code> <Reason-Phrase>
<Header-Fields>
(blank line)
[Message Body (optional)]
Example:
HTTP/1.1 200 OK
Date: Sun, 19 Oct 2025 08:20:00 GMT
Server: Apache/2.4.54
Content-Type: text/html
Content-Length: 1256
Connection: keep-alive
<html>
<body>Welcome to Example!</body>
</html>
Explanation of Fields:
Field Description
Contains protocol version, status code, and reason phrase. Example: HTTP/1.1
Status Line
200 OK
Indicates result of request:
- 1xx: Informational
- 2xx: Success (e.g., 200 OK)
Status Code
- 3xx: Redirection (e.g., 301 Moved Permanently)
- 4xx: Client Error (e.g., 404 Not Found)
- 5xx: Server Error (e.g., 500 Internal Server Error)
Header Fields Provide information about server and content.
Common
Date, Server, Content-Type, Content-Length, Connection.
Headers
Message Body Contains actual data (like HTML, JSON, image).
C. Request and Response Interaction Example:
Request:
GET /[Link] HTTP/1.1
Host: [Link]
Connection: keep-alive
Response:
HTTP/1.1 200 OK
Date: Sun, 19 Oct 2025 08:30:00 GMT
Content-Type: text/html
Content-Length: 532
<html><body>About Us</body></html>
In short:
• HTTP Request: Sent by client → contains method, URL, headers, and optional body.
• HTTP Response: Sent by server → contains status, headers, and content.
• Together, they form the core of web communication.
Summary Table:
Concept Definition / Description
Client–Server Architecture Centralized model with clients requesting services from servers.
Peer-to-Peer Architecture Decentralized model where each node acts as both client and server.
Non-Persistent HTTP New connection for each request; higher delay.
Persistent HTTP One connection reused for multiple requests; efficient.
HTTP Request Message Method + URL + Headers + Optional body.
HTTP Response Message Status + Headers + Body (data/content).
Module – 5 (Continued)
4. Demonstrate File Transfer Protocol (FTP) with Neat Diagram along with Commands and Replies
Introduction:
• FTP (File Transfer Protocol) is a standard protocol used for transferring files between a
client and a server over a TCP/IP network.
• It operates at the Application Layer of the OSI model.
• FTP uses TCP ports 20 and 21 for communication:
o Port 21: Control connection (commands & replies)
o Port 20: Data connection (actual file transfer)
FTP Architecture:
How FTP Works:
Step 1: Connection Establishment
• The client initiates a TCP connection to the FTP server on port 21 (control connection).
• Server responds with a welcome message (reply code 220).
Step 2: Authentication
• Client sends USER and PASS commands for login.
• If credentials are correct, server replies with 230 (User logged in).
Step 3: Data Connection Setup
• A second connection (data connection) is established on port 20.
• Data such as files or directory listings are transferred over this connection.
Step 4: File Transfer
• Client sends commands like RETR (retrieve file) or STOR (store file).
• Server sends replies such as 150 (File status okay) or 226 (Closing data connection).
Step 5: Connection Termination
• Client sends the QUIT command.
• Server responds with 221 (Service closing control connection).
FTP Commands and Replies:
Command Meaning Typical Reply Code
USER username Specify username 331 User name okay
PASS password Specify password 230 User logged in
PWD Print current directory 257 “/home/user”
CWD dirname Change directory 250 Directory changed
LIST List files 150 File status okay
RETR filename Download file 150 Opening data connection, 226 Transfer complete
STOR filename Upload file 150 File status okay, 226 Transfer complete
Command Meaning Typical Reply Code
DELE filename Delete file 250 File deleted
QUIT Terminate session 221 Service closing
Diagram: FTP Process Flow
Client Server
------ ------
------- TCP Connection (Port 21) -----> 220 Service ready
USER user1 -------------------------------> 331 Username OK
PASS 12345 -------------------------------> 230 Logged in
LIST -----------------------------------------> 150 Opening data connection
<---------- Directory Listing ---------------
RETR [Link] ---------------------------> 150 File OK, opening connection
<---------- File Data (Port 20) ------------
QUIT ----------------------------------------> 221 Service closing
Advantages of FTP:
• Reliable and secure file transfer (with authentication).
• Supports resuming interrupted transfers.
• Allows directory navigation and file management.
Disadvantages:
• Data is transmitted in plain text (less secure without encryption).
• Requires separate control and data connections.
In short:
FTP uses two connections (port 20 & 21) — one for control (commands) and another for data
transfer — to reliably transfer files between client and server.
5. Discuss Simple Mail Transfer Protocol (SMTP) and Compare it with HTTP
A. Introduction to SMTP:
• SMTP (Simple Mail Transfer Protocol) is an Internet standard protocol used for sending
emails between mail servers.
• It is a push protocol, meaning it pushes the mail from sender to receiver.
• SMTP uses TCP port 25 for communication.
Electronic Mail in the Internet:
E-mail has three major components: [Link] agents, [Link] servers, and [Link] Mail Transfer
Protocol (SMTP).
Architecture:
User agents allow users to read, reply to, forward, save, and compose messages.
Mail servers form the core of the e-mail infrastructure. Each recipient has a mailbox located in one of
the mail servers. A typical message starts its journey in the sender’s user agent, travels to the
sender’s mail server, and travels to the recipient’s mail server, where it is deposited in the recipient’s
mailbox.
SMTP is the principal application-layer protocol for Internet electronic mail. It uses the reliable data
transfer service of TCP to transfer mail from the sender’s mail server to the recipient’s mail server. As
with most application-layer protocols, SMTP has two sides: a client side, which executes on the
sender’s mail server, and a server side, which executes on the recipient’s mail server.
SMTP
SMTP transfers messages from senders’ mail servers to the recipients’ mail servers. It restricts the
body (not just the headers) of all mail messages to simple 7-bit ASCII.
Suppose Alice wants to send Bob a simple ASCII message.
1. Alice invokes her user agent for e-mail, provides Bob’s e-mail address (for example,
bob@[Link]), composes a message, and instructs the user agent to send the message.
2. Alice’s user agent sends the message to her mail server, where it is placed in a message queue.
3. The client side of SMTP, running on Alice’s mail server, sees the message in the message queue. It
opens a TCP connection to an SMTP server, running on Bob’s mail server.
4. After some initial SMTP handshaking, the SMTP client sends Alice’s message into the TCP
connection.
5. At Bob’s mail server, the server side of SMTP receives the message. Bob’s mail server then places
the message in Bob’s mailbox.
6. Bob invokes his user agent to read the message at his convenience
An example transcript of messages exchanged between an SMTP client (C) and an SMTP server(S)
Working of SMTP:
Step 1: Email Composition
• The user composes an email using a Mail User Agent (MUA) like Outlook or Gmail.
Step 2: Sending Email
• MUA sends the mail to the Mail Transfer Agent (MTA) using SMTP.
Step 3: Transfer Between Servers
• The MTA of the sender’s domain forwards the mail to the receiver’s MTA using SMTP.
Step 4: Receiving Email
• The receiver retrieves mail using POP3 or IMAP, not SMTP.
SMTP Commands and Replies:
Command Meaning Typical Reply Code
HELO domain Identify client to server 250 Hello acknowledged
MAIL FROM:<sender> Specify sender’s email 250 OK
RCPT TO:<receiver> Specify receiver’s email 250 OK
DATA Begin sending message data 354 Start mail input
Command Meaning Typical Reply Code
QUIT End session 221 Service closing
SMTP Example:
S: 220 [Link] Service ready
C: HELO [Link]
S: 250 Hello [Link]
C: MAIL FROM:<Alice @[Link]>
S: 250 OK
C: RCPT TO:<Bob@[Link]>
S: 250 OK
C: DATA
S: 354 Start mail input
C: Subject: Hello
C: This is a test mail.
C: .
S: 250 Message accepted
C: QUIT
S: 221 Goodbye
B. Comparison Between SMTP and HTTP:
Feature SMTP HTTP
Purpose Used to send emails Used to transfer web pages
Type Push protocol Pull protocol
Connection Between mail servers Between client and web server
Port Used 25 (default) 80 (default)
Data Format ASCII text messages HTML, images, JSON, etc.
Direction Bidirectional between mail servers Client requests, server responds
Security Can use SSL/TLS (SMTPS) Can use HTTPS (Port 443)
Protocol Type Persistent Non-persistent or persistent (depends on version)
In short:
• SMTP handles sending emails between servers.
• HTTP handles fetching web resources.
• SMTP is push-based, while HTTP is pull-based.
Comparison with HTTP
HTTP SMTP
[Link] Protocol- someone loads [Link] Protocol- the sending mail server
information on a Web server and users pushes the file to the receiving mail
use HTTP to pull the information from the server.
server at their convenience.
[Link] does not mandates data to be in [Link] requires each message, including
7-bit ASCII format. the body of each message, to be in 7-bit
ASCII format.
[Link] encapsulates each object in its [Link] mail places all of the message’s
own HTTP response message. objects into one message.
6. Discuss (i) POP (ii) IMAP.
(i) POP (Post Office Protocol)
Definition:
• POP3 (Post Office Protocol version 3) is used by email clients to retrieve emails from the
mail server.
• It works on TCP port 110.
Working:
1. Email is delivered to the mail server (via SMTP).
2. The client (e.g., Outlook) connects to the mail server using POP3.
3. Messages are downloaded to the client’s device.
4. By default, messages are deleted from the server after download.
Commands:
Command Description
USER Specify username
PASS Specify password
LIST List emails on server
RETR n Retrieve message number n
Command Description
DELE n Delete message number n
QUIT End session
Advantages:
• Simple and efficient.
• Messages available offline.
Disadvantages:
• Emails are removed from the server, so not accessible from multiple devices.
• Limited synchronization capabilities.
(ii) IMAP (Internet Message Access Protocol)
Definition:
• IMAP allows users to access and manage emails directly on the server without downloading
them.
• Works on TCP port 143 (or 993 with SSL).
Working:
1. User logs in to mail server using IMAP.
2. Messages remain on the server and can be viewed or managed remotely.
3. Supports multiple folders and flags (read/unread, starred, etc.).
4. Allows access from multiple devices (laptop, phone, tablet).
Commands:
Command Description
LOGIN Authenticate user
SELECT inbox Select mailbox
FETCH n Retrieve specific email
STORE Mark messages (read/unread)
LOGOUT End session
Advantages:
• Emails stay on the server (accessible anywhere).
• Supports synchronization across multiple devices.
• Supports folder management.
Disadvantages:
• Requires internet connection to access emails.
• Consumes more server storage.
Comparison Between POP and IMAP:
Feature POP3 IMAP
Port Number 110 143
Storage Location Local device Mail server
Synchronization Not supported Supported
Multiple Device Access No Yes
Email Deletion After download User controlled
Offline Access Yes Limited
Folder Management No Yes
7. Illustrate Various Services Provided by DNS with Examples
Introduction:
• DNS (Domain Name System) is a hierarchical, distributed database system that translates
human-readable domain names (like [Link]) into IP addresses (like
[Link]).
• It acts as the “phonebook of the Internet.”
Working Principle:
When you type [Link]:
1. Browser contacts the DNS resolver.
2. Resolver queries the root server, then TLD server, and finally the authoritative DNS server.
3. The IP address is returned to the client.
4. The client then uses that IP to contact the web server.
DNS Hierarchy:
[ Root DNS Server ]
[.com] [.org]
[[Link]] [[Link]]
[[Link]]
DNS Services:
Service Description Example
1. Hostname to IP Address Converts domain names into IP [Link] →
Resolution addresses. [Link]
2. IP Address to Hostname Finds the domain name of a [Link] →
Resolution (Reverse DNS) given IP address. [Link]
3. Mail Server Resolution (MX Identifies mail servers for email [Link] → [Link]
Records) delivery. (MX record)
DNS can map one name to [Link] → multiple
4. Load Distribution
multiple IPs for load balancing. IPs
DNS responses are cached to Browser and ISP DNS cache
5. Caching
reduce lookup time. results.
Allows one domain to act as an [Link] →
6. Aliasing (CNAME Records)
alias for another. [Link]
Identifies servers for specific
7. Service Record (SRV) _sip._tcp.[Link] for VoIP.
services.
Adds digital signatures to verify
8. Security (DNSSEC) Protects from DNS spoofing.
DNS responses.
Example DNS Record Types:
Record Type Purpose Example
A Maps domain to IPv4 address [Link] → [Link]
AAAA Maps domain to IPv6 address [Link] → 2607:f8b0:4005:80a::200e
Record Type Purpose Example
MX Mail exchange [Link] → [Link]
CNAME Canonical name [Link] → [Link]
NS Name server Identifies authoritative DNS servers.
PTR Reverse lookup [Link] → [Link]
In short:
DNS provides translation, caching, aliasing, and mail routing services, making the Internet user-
friendly and efficient.
8. Discuss in Detail Secret Key Encryption Protocols
(i) DES (Data Encryption Standard) (ii) AES (Advanced Encryption Standard)
(i) Data Encryption Standard (DES)
Definition:
• DES is a symmetric key encryption algorithm developed by IBM and adopted by NIST in
1977.
• It uses a 56-bit key to encrypt 64-bit blocks of data.
DES Working Principle:
1. Input: 64-bit plain text.
2. Initial Permutation (IP): Bits are rearranged.
3. 16 Rounds of Encryption: Each round uses:
o Expansion
o Substitution (S-boxes)
o Permutation
o XOR with subkeys
4. Final Permutation (FP): Rearranges bits again to get ciphertext.
Diagram of DES:
+----------------------+
| 64-bit Input |
+----------+-----------+
Initial Permutation
16 Rounds of Processing
Final Permutation
64-bit Ciphertext
Key Features:
• Block Size: 64 bits
• Key Size: 56 bits (effective)
• Number of Rounds: 16
• Algorithm Type: Symmetric (same key for encryption & decryption)
Limitations:
• 56-bit key is too short → vulnerable to brute force attacks.
• Replaced by AES for stronger security.
(ii) Advanced Encryption Standard (AES)
Definition:
• AES is a modern symmetric encryption algorithm adopted by NIST in 2001 to replace DES.
• It uses 128, 192, or 256-bit keys and operates on 128-bit blocks.
Working Steps:
1. Key Expansion → Generate round keys.
2. Initial Round: AddRoundKey.
3. Main Rounds (9/11/13):
o SubBytes (Substitution)
o ShiftRows (Row shifting)
o MixColumns (Column mixing)
o AddRoundKey (XOR with round key)
4. Final Round: No MixColumns.
Diagram of AES:
+-----------------------------------+
| 128-bit Plaintext |
+-----------------------------------+
SubBytes
ShiftRows
MixColumns
AddRoundKey
128-bit Ciphertext
Comparison: DES vs AES
Feature DES AES
Developed by IBM (1977) NIST (2001)
Block Size 64 bits 128 bits
Key Length 56 bits 128/192/256 bits
Feature DES AES
Rounds 16 10/12/14
Security Weak Strong
Speed Slower Faster
In short:
• DES: Outdated symmetric encryption (56-bit key).
• AES: Modern, secure, efficient encryption (128–256-bit key).
9. Discuss Public Key Encryption Protocols
(i) RSA
(ii) Diffie–Hellman
(i) RSA (Rivest–Shamir–Adleman)
Definition:
• RSA is a public key encryption algorithm based on the difficulty of factoring large prime
numbers.
• Developed in 1978 by Rivest, Shamir, and Adleman.
Algorithm Steps:
1. Key Generation:
o Choose two large prime numbers, p and q.
o Compute n = p × q.
o Compute φ(n) = (p−1)(q−1).
o Choose e (public exponent), such that 1 < e < φ(n).
o Compute d such that (d × e) mod φ(n) = 1.
o Public Key = (e, n)
Private Key = (d, n)
2. Encryption:
o Ciphertext C = (M^e) mod n
(where M = message)
3. Decryption:
o Plaintext M = (C^d) mod n
Example:
• p = 3, q = 11 → n = 33, φ(n) = 20
• e = 3, d = 7
• Message = 4
• Encryption: C = 4³ mod 33 = 31
• Decryption: M = 31⁷ mod 33 = 4
Key Features:
• Asymmetric: Two keys (public/private).
• Secure due to factoring difficulty.
• Used in digital signatures, secure web communication.
(ii) Diffie–Hellman Key Exchange
Definition:
• Diffie–Hellman (DH) is a public key protocol used to exchange secret keys securely over an
insecure channel.
• Introduced in 1976.
Algorithm Steps:
1. Publicly known values:
o Prime number p and base g (generator).
2. Private keys:
o Alice chooses private key a.
o Bob chooses private key b.
3. Compute public values:
o Alice → A = g^a mod p
o Bob → B = g^b mod p
4. Exchange A and B.
5. Compute shared key:
o Alice → K = B^a mod p
o Bob → K = A^b mod p
Both get the same shared key K.
Example:
• p = 23, g = 5
• Alice (a = 6) → A = 5⁶ mod 23 = 8
• Bob (b = 15) → B = 5¹⁵ mod 23 = 19
• Shared key: K = 19⁶ mod 23 = 2
Both get K = 2
Comparison:
Feature RSA Diffie–Hellman
Purpose Encryption & signatures Key exchange
Keys Used Public & private keys Shared secret derived
Based On Prime factorization Discrete logarithms
Data Encrypted Directly No (only key exchanged)
Use Case SSL, HTTPS Key establishment in VPNs
In short:
• RSA: Encrypts/decrypts data using two keys.
• Diffie–Hellman: Securely establishes a shared key between two parties.
10. Demonstrate (i) Secure Hash Algorithm (SHA) (ii) Digital Signature (iii) Firewalls
(i) Secure Hash Algorithm (SHA)
Definition:
• SHA is a family of cryptographic hash functions designed by NIST.
• Converts input data into a fixed-size hash (digest) — irreversible and unique.
Features:
• Input: Any length
• Output: Fixed length (e.g., 256 bits for SHA-256)
• Common versions: SHA-1, SHA-256, SHA-512
• Used for data integrity and digital signatures.
Example:
Input: “Dean Jones”
SHA-256 Output:
6bcb21b32faee8cc259ff55f12c688dbf1ccf7ed91a3f615a1eb57b053b2f22f
Even a small change in input gives a completely different hash (Avalanche effect).
(ii) Digital Signature
Definition:
A Digital Signature is a cryptographic mechanism used to verify authenticity and integrity of a
message or document.
Working:
1. Sender creates a message digest using SHA.
2. The digest is encrypted with sender’s private key → digital signature.
3. Receiver decrypts using sender’s public key and verifies the digest.
Diagram:
Sender Receiver
------ --------
Message → SHA → Hash → Encrypt(Private Key) = Signature
[Message + Signature]
→ Decrypt (Public Key)
→ Compare Hashes → Verified
Uses:
• Authentication
• Integrity verification
• Non-repudiation (sender cannot deny sending)
(iii) Firewalls
Definition:
A Firewall is a security device or software that monitors and controls incoming and outgoing
network traffic based on predefined rules.
Types of Firewalls:
Type Description
Packet Filtering Firewall Filters packets based on IP, port, or protocol.
Stateful Inspection Firewall Tracks connection states (session-aware).
Proxy Firewall Acts as an intermediary between users and servers.
Next-Gen Firewall Includes intrusion prevention and deep packet inspection.
Diagram:
[Internet] -----> [Firewall] -----> [Internal Network]
(Blocks malicious traffic)
Functions:
• Prevent unauthorized access.
• Protect against viruses and attacks.
• Enforce organizational network policies.
In short:
• SHA → Produces unique hash for integrity.
• Digital Signature → Ensures authenticity and non-repudiation.
• Firewall → Guards the network by filtering traffic.
Summary Table (Module–5 Final)
Concept Purpose / Function
DNS Translates domain names to IPs and supports mail routing.
DES / AES Symmetric encryption (AES is modern & stronger).
RSA / Diffie–Hellman Public key protocols (RSA for encryption, DH for key exchange).
SHA Hashing for integrity.
Digital Signature Authentication & verification.
Firewall Network security & traffic control.